解码裸 Base64 字符串(不需要 data: 前缀)

如果你的字符串以 iVBORw0KGgo 开头,而不是 data:image/png;base64,,那来对地方了。这个解码器从不要求你补前缀。

任何格式都接受:带前缀、纯串、折行、URL 编码、URL-safe,或者已经坏掉的。

解码选项 —— 默认自动识别,只在结果不对时才需要改

-_ 当作 URL-safe 字母表(对应 +/)。普通 Base64 恰好含这两个字符时请保持关闭。

跳过签名探测。用于字节流确实是图片、但签名识别不出来的情况。

图片会显示在这里

在左侧粘贴即可,不需要点按钮。全部在你的浏览器里完成。

什么时候会用到

  • 数据库字段或 JSON 里只存了编码后的载荷,MIME 类型另存他处。
  • 从 SQL 客户端或消息队列查看器里复制的值,包装层已经被剥掉。
  • 在做数据迁移之前,想确认库里存的二进制到底是不是图片。

别的 Base64 工具为什么在这里失败

前缀是很多工具判断格式的唯一依据。没有它,要么直接拒绝输入,要么把整段当成普通文本。

有些工具要求你先从下拉框里猜一个 MIME 类型,才肯开始解码 —— 这个顺序是反的,字节本身已经说明了它是什么。

还有些工具会无条件补上 data:image/png;base64,,于是一段 JPEG 载荷被标成 PNG,最后渲染成一张裂图。

常见问题

不告诉它格式,它凭什么知道?

常见的图片格式都以固定的字节签名开头:PNG 是 89 50 4E 47,JPEG 是 FF D8 FF,GIF 是 47 49 46 38。把开头几个字符解码出来就能读到这个签名,格式是数据自己带出来的信息。

我的字符串既没有前缀,结尾也没有等号,有问题吗?

没问题。填充(等号)只是为了让长度凑成 4 的倍数,不少编码器本来就不写。解码器会自动补回去,并在「已自动修复」列表里告诉你补了几个,不会让你猜输入有没有被动过。

这看着像 Base64,但解出来不是图片。

这确实可能,工具会直接说明,而不是给你一张裂图。它会报告解码后的体积和前 32 字节的十六进制。如果这些字节以 1F 8B 开头,那是 gzip 数据;以 50 4B 开头则是 ZIP。两者都不是图片,补任何前缀都改变不了这一点。

能直接粘一整行日志,而不是只粘字符串吗?

通常可以。如果周围的文字明显只是标签(比如 image: 或时间戳),解码器会取出其中最长的连续 Base64 片段,并告诉你丢弃了其余内容。这个判断刻意保守:当多余字符夹在载荷中间而不是两端时,它会报错,而不是悄悄交给你一张被截断的图。

相关工具