Base64 转图片转换工具
在浏览器中把 Base64 字符串或 data URI 解码还原为图片。预览、读取尺寸与 MIME,再下载为 PNG、JPG、GIF、SVG。无需上传。
把图片拖到这里、粘贴它,或点击浏览
PNG · JPG · GIF · WebP · SVG · ICO · BMP — 完全在你的浏览器中转换
什么是 Base64 转图片解码?
Base64 转图片解码是编码的反向操作:它接收一段来自 Base64 字母表(A–Z、a–z、0–9、+ 和 /)的可打印 ASCII 字符串,并重建出这段字符串所表示的原始二进制图片。每四个 Base64 字符映射回三个字节,末尾的一或两个 = 字符表示填充。结果是最初被编码的那个确切文件——PNG 还原为 PNG,JPEG 还原为 JPEG——没有任何损失、重新压缩或缩放。
这些字符串会出现在任何把图片内联为文本的地方。样式表中的 data URI(background-image: url(data:image/png;base64,…))、HTML 中的 img src、JSON API 响应中的缩略图字段、HTML 邮件中嵌入的 Logo,或打包进配置文件的资源,都是等待被解码的 Base64 图片。当你在调试、审计或提取这样的资源时,你需要看清这个不透明字符串究竟是什么,并把它作为真实文件取出——而这正是本解码器所做的。
这一操作纯粹是机械性的,不需要任何密钥,因为 Base64 是编码而非加密。这也意味着它不提供任何安全性:任何拿到字符串的人都能瞬间恢复出图片。Base64 的存在只是为了让二进制数据穿过为文本设计的信道——HTML、JSON、URL、邮件头——而不被控制字符或分隔符破坏。解码只是把这层文本安全的包装解开,把原始字节交还给你。
本工具完全在你的浏览器中执行整个解码。它能容忍现实世界字符串的杂乱——缺失的 data: 前缀、在 76 字符处换行、复制粘贴带来的多余空白——并在 MIME 类型未声明时从数据的魔数字节推断图片格式。要从头创建这些字符串,请看配套的 图片转 Base64 编码器。
// A Base64 PNG payload (no prefix) iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg== // The decoder infers the format from the leading bytes: // iVBORw0KGgo → PNG // /9j/ → JPEG // R0lGOD → GIF // UklGR → WebP // PHN2Zy → SVG (<svg) // Reconstructed as a real file, downloadable as image.png // (1 × 1 transparent PNG, 68 bytes — lossless round trip)
核心功能
前缀可选的输入
粘贴完整的 data URI 或仅裸 Base64 载荷——解码器两者都能处理。当没有 data: 前缀时,它会从图片的魔数字节推断 MIME 类型,使预览和下载仍然正确。
即时本地预览
解码后的图片会立即在棋盘格背景上渲染,使透明 PNG 和半透明图形清晰可见。一切都在你的浏览器中进行,零网络请求。
尺寸、MIME 与大小读数
除预览外,工具还会报告解码后的像素尺寸、检测到的 MIME 类型和重建后的字节大小——足以让你在下载前确认解码的是正确的资源。
容忍空白的解码
按 RFC 2045 在 76 字符处换行的字符串,或复制时带有多余空格和换行的字符串,都会被自动清理。解码器在解码前去除所有空白,因此现实世界的复制粘贴就是能用。
无损下载
下载会重建精确的原始字节,并以匹配的扩展名保存——.png、.jpg、.gif、.webp、.svg、.ico、.bmp。没有重新压缩或转换:文件与被编码的那个完全相同。
内置编码器
图片 → Base64 标签页可反向操作:拖入、粘贴或浏览选择图片,即可获得 Base64、data URI、HTML、CSS、Markdown 和 JSON 输出,外加大小指标和内联建议——一个工具完成完整往返。
示例
解码 PNG data URI
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
1 × 1 PNG,透明——已渲染预览,可下载为 .png
粘贴一个完整的 data URI,工具会立即渲染图片,读出它的真实尺寸和 MIME 类型,并让你下载重建后的文件。
无前缀的原始 Base64
/9j/4AAQSkZJRgABAQEAYABgAAD…
从魔数字节检测到 JPEG——预览 + 下载为 .jpg
没有 data: 前缀?没问题。解码器会检查开头字符,识别出 JPEG 签名(/9j/),并为你构建正确的 data URI,让图片照样渲染。
分块(按行换行)的 Base64
iVBORw0KGgoAAAANS UhEUgAAAAEAAAAB CAYAAAA…
自动去除空白——成功解码出有效 PNG
按 76 个字符换行(RFC 2045)或复制时带有多余换行的字符串会被自动清理:解码器在解码前移除所有空白。
如何将 Base64 转换为图片
- 1
粘贴 Base64 字符串
放入完整的 data URI 或仅原始 Base64 载荷。解码器会自动去除空白和换行,并接受带或不带 data: 前缀的输入。
- 2
查看预览和元数据
图片会立即在棋盘格背景上渲染,使透明可见。工具会显示解码后的尺寸、MIME 类型和字节大小——在无前缀时从魔数字节推断格式。
- 3
下载图片
点击「下载」以正确的扩展名保存重建后的文件。解码是无损的,因此结果与原始编码图片逐字节相同。
常见误区
字符串被截断(丢失填充)
Base64 图片字符串以零个、一个或两个 = 字符结尾。一个提前停止的复制——丢掉填充或最后几个字符——无法解码并会显示错误。重新复制完整的值即可修复。
…WjR9awAAAABJRU5ErkJggg // missing trailing == — fails to decode
…WjR9awAAAABJRU5ErkJggg== // complete with padding — decodes cleanly
粘贴了非图片数据
Base64 能编码任何字节,而不仅是图片。如果你粘贴的是编码后的 PDF、ZIP 或纯文本,字符串能解码,但无法渲染为图片。工具会报告数据不是有效的图片数据。解码前请确认来源确实是图片。
JVBERi0xLjcN… // this is a Base64 PDF (%PDF header), not an image
iVBORw0KGgo… // this is a Base64 PNG — renders correctly
把包裹代码也带上了
从 CSS 或 HTML 复制时,很容易把周围的语法——url("…")、src="…" 或引号——连同 data URI 一起抓上。多余的包裹字符会破坏解码。只复制 data:…;base64,… 的值(或裸载荷),而非它周围的代码。
url("data:image/png;base64,iVBORw0KGgo…")
// the url(" and ") are not part of the data data:image/png;base64,iVBORw0KGgo… // just the data URI
双重编码或 URL 编码的字符串
偶尔会遇到 URL 编码的 data URI(用 %2B 代替 +,用 %2F 代替 /),或被包了另一层编码。请先解开那一层。我们的 URL 解码器 可逆转百分号编码,让你得到干净的 Base64 再粘到这里。
data:image/png;base64,iVBORw0KGgo%2B%2F… // %2B / %2F are URL-encoded + and /
data:image/png;base64,iVBORw0KGgo+/… // URL-decode first, then decode the image
常见使用场景
- 从 data URI 提取资源
- 在样式表或 HTML 中发现一张以 data URI 内联的图片,需要实际文件?粘贴字符串、确认预览,然后下载原始的 PNG、JPG 或 SVG——无需托管或重新制作。
- 检查 API 响应中的缩略图
- API 返回了一个 Base64 图片字段,你想看看它是什么。粘贴载荷即可立即渲染,读出它的真实尺寸和类型,并保存下来以便仔细查看或提交 bug 报告。
- 调试无法显示的内联图片
- 页面上某张嵌入的图片没有渲染。把它的 Base64 放到这里:如果能正确预览,说明数据有效,问题出在你的标记或 MIME 类型;如果失败,说明字符串本身被截断或损坏了。
- 从配置或主题文件中恢复图片
- 构建工具和主题包常把图标和 Logo 内联为 Base64。解码该字符串,即可把资源作为普通文件取出,方便你编辑、重新导出或在别处复用。
- 验证构建工具的输出
- 某个打包器或脚本生成了一个 data URI,你想在发布前确认它有效且正确。在这里解码它是最快的可视化检查,能确认编码步骤产出了你预期的图片。
- 把 Base64 转回可分享的文件
- 有人在聊天或文档中以 Base64 块的形式发给你一张图片。粘贴它、预览它,并下载一个你能打开、附加或正常上传的真实文件。
技术细节
- 解码的工作原理
- 浏览器内置的 atob 把 Base64 载荷转换为二进制字符串,工具再把它逐字节复制进一个 Uint8Array。这个类型化数组被包进一个标记了检测到的 MIME 类型的 Blob,一个对象 URL 让预览和下载链接指向它。每四个 Base64 字符产出三个字节;末尾的 = 填充标记出一或两字节的余数。这个过程精确而无损——重建的字节与原始文件精确匹配。
- 基于魔数字节的格式检测
- 当输入没有 data: 前缀来声明 MIME 类型时,解码器会从开头几个 Base64 字符识别格式,它们编码着文件的签名字节。iVBORw0KGgo 解码为 PNG 头,/9j/ 解码为 JPEG 的 SOI 标记,R0lGOD 为 GIF,UklGR 为 RIFF/WebP 容器,PHN2Zy 和 PD94bWw 为 SVG 的
- 无网络,无存储
- 解码、预览和下载全部在本地。没有 fetch、没有 XMLHttpRequest、没有服务器往返——页面执行的唯一网络活动就是加载自身。粘贴的字符串在页面生命周期内保存在内存中,并在你关闭或刷新时被丢弃。这正是该工具能安全处理机密图像、且可离线使用的原因。
最佳实践
- 复制整段字符串,包括填充
- Base64 图片字符串必须完整才能解码。请确保你复制了每一个字符,尤其是末尾的 = 或 == 填充——一个中途结束的值会失败。如果解码失败,重新选择并复制完整字符串是首先要试的。
- 对无前缀字符串信赖魔数字节检测
- 如果你只有原始载荷,原样粘贴即可——不必手动构建 data: 前缀。解码器会从开头字节推断格式并分配正确的 MIME 类型和扩展名。只有在你确实需要覆盖检测到的类型时,才手动添加前缀。
- 下载前核对尺寸
- 把报告的像素尺寸和 MIME 类型当作一次合理性检查,确认你解码的是预期的资源——尤其是从一个含多个字符串的文件中取出一个时。例如,1×1 的结果通常意味着你抓到的是一个追踪像素,而非你想要的图片。
- 记住 Base64 并不安全
- 解码不需要任何密钥,所以绝不要依赖 Base64 来隐藏图片内容。如果你收到一个字符串并以为它受保护,那它并没有——任何人都能在这里几秒内解码它。真正的保护需要加密和访问控制,而非编码。
- 重新编码可无损往返
- 解码后再重新编码同一张图片是无损的,因此你可以放心地在两个标签页间往返来测试某个流程。如果你需要缩小资源,请在重新编码为更小的 data URI 之前,用我们的 图片压缩工具 压缩解码后的文件。
常见问题
这个 Base64 转图片工具的作用是什么?
我的 Base64 数据会被上传到任何地方吗?
我需要包含 data: 前缀吗?
它能解码哪些图片格式?
为什么我的 Base64 字符串解码失败?
如何把解码后的图片保存为 PNG 或 JPG?
解码 Base64 等同于解密它吗?
它能处理很长的 Base64 字符串吗?
这些 Base64 图片字符串都从哪里来?
解码会损失任何质量吗?
相关工具
查看所有工具 →Base64 解码与编码工具
编码和格式化
免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。
CSV 转 JSON 转换器
编码和格式化
在浏览器中将 CSV 转换为 JSON。支持 RFC 4180、类型推断、表头行、大整数安全。100% 隐私,无需上传。
图片转 Base64 转换工具
编码和格式化
在浏览器中将图片转换为 Base64 data URI——支持 PNG、JPG、GIF、WebP、SVG、ICO。一键复制 HTML、CSS、Markdown 和 JSON 输出。100% 私密,无需上传。
JSON Diff 对比
编码和格式化
在浏览器中即时对比两份 JSON。Side-by-Side 高亮 + RFC 6902 JSON Patch 输出,一键忽略 timestamps、IDs 等噪音字段。100% 隐私保护,零上传。
JSON 格式化与验证工具
编码和格式化
在浏览器中即时格式化、验证和美化 JSON。免费在线工具,支持语法验证、错误检测、压缩和一键复制,100% 隐私保护。
JSON Schema 验证器
编码和格式化
在浏览器中即时校验 JSON 是否符合任意 JSON Schema。支持 Draft 2020-12、2019-09 与 Draft-07,错误信息精确定位到 JSON Pointer 路径。100% 隐私保护,零上传、零账号、永久免费。