把 Base64 转成 PNG
载荷确实是 PNG、你只想要一个能打开的 .png、不希望工具替你擅自猜格式时用这页。
任何格式都接受:带前缀、纯串、折行、URL 编码、URL-safe,或者已经坏掉的。
图片会显示在这里
在左侧粘贴即可,不需要点按钮。全部在你的浏览器里完成。
什么时候会用到
- 要把解码出来的图丢回只认 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 吗?
透明通道会被逐字节保留,因为解码器完全不碰像素数据。预览区背后的棋盘格底纹就是为了让你一眼分清「透明」和「白色」。