把 Base64 转成 PNG

载荷确实是 PNG、你只想要一个能打开的 .png、不希望工具替你擅自猜格式时用这页。

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

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

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

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

图片会显示在这里

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

什么时候会用到

  • 要把解码出来的图丢回只认 PNG 的设计工具里。
  • 重构之后想确认截图流水线还在输出 PNG。
  • 想要一个扩展名与真实内容一致的文件。

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

有些工具无论真实格式是什么都存成 .png,于是一段 JPEG 载荷变成了扩展名骗人的文件,一半应用都打不开。

有些则完全忽略你选的格式,直接给一个 .bin 下载,扩展名让你自己想办法。

几乎没有工具检查 PNG 的结构是否完整 —— 被截断的 PNG 头依然合法,照样能被保存下来而毫无提示。

常见问题

工具说是 PNG,文件却打不开。

PNG 头合法不代表整个 PNG 合法。如果字节数远低于图片尺寸所要求的量,说明载荷在上游某处被截断了。诊断面板会报告解码后的体积,并给出开头字节,你可以确认它是否以 89 50 4E 47 开头。

强制 PNG 会把 JPEG 真的转成 PNG 吗?

不会,浏览器端也没有工具能可靠地做到这件事。强制格式只影响字节如何被解释以及下载时用什么扩展名。要真正换格式必须经过 canvas 重新编码,那是有损的另一个操作。

下载的 PNG 有时比我粘的 Base64 还大?

不该如此 —— 解码会让数据缩小约 25%。如果你觉得变大了,多半是把 Data URI 字符串的长度当成了二进制体积。Base64 会在原始字节上增加约 33%,结果面板把两个数字分开列出,对比起来不会有歧义。

能拿到透明背景的 PNG 吗?

透明通道会被逐字节保留,因为解码器完全不碰像素数据。预览区背后的棋盘格底纹就是为了让你一眼分清「透明」和「白色」。

相关工具