Skip to content

Base64 转图片转换工具

在浏览器中把 Base64 字符串或 data URI 解码还原为图片。预览、读取尺寸与 MIME,再下载为 PNG、JPG、GIF、SVG。无需上传。

无追踪 浏览器中运行 免费
一切都在你的浏览器中运行。你的图片绝不会离开你的设备。

把图片拖到这里、粘贴它,或点击浏览

PNG · JPG · GIF · WebP · SVG · ICO · BMP — 完全在你的浏览器中转换

已审核无损解码、魔数字节 MIME 检测、空白容忍和正确的文件扩展名输出 — Go Tools 工程团队 · 2026年6月5日

什么是 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. 1

    粘贴 Base64 字符串

    放入完整的 data URI 或仅原始 Base64 载荷。解码器会自动去除空白和换行,并接受带或不带 data: 前缀的输入。

  2. 2

    查看预览和元数据

    图片会立即在棋盘格背景上渲染,使透明可见。工具会显示解码后的尺寸、MIME 类型和字节大小——在无前缀时从魔数字节推断格式。

  3. 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:image/png;base64,… 这样的完整 data URI——并把它解码还原为一张真实、可查看的图片,整个过程完全在你的浏览器中完成。你会得到即时预览、解码后的像素尺寸、检测到的 MIME 类型,以及一个用正确扩展名重建原始文件的下载按钮。它是把图片编码为 Base64 的反向操作。这个解码器特意设计得很宽容:它接受带或不带 data: 前缀的输入,去除多余的空白和换行,并在没有 MIME 类型时从数据的魔数字节推断图片格式。要进行反向操作,请使用图片 → Base64 标签页,或我们的 图片转 Base64 编码器
我的 Base64 数据会被上传到任何地方吗?
不会。解码完全在客户端进行。字符串通过浏览器内置的 atob 变成二进制,重建为 Blob,并从一个本地对象 URL 渲染——没有服务器、没有网络请求、没有日志记录。你可以在浏览器的「网络」标签页验证:粘贴字符串并下载图片会触发零次请求。这使该工具可安全地解码那些包含机密或未发布图像的字符串,无论它们来自配置文件、API 响应,还是你正在调试的样式表。
我需要包含 data: 前缀吗?
不需要。你可以粘贴完整的 data URI(data:image/png;base64,iVBORw0KGgo…),也可以只粘贴原始 Base64 载荷(iVBORw0KGgo…)。当前缀存在时,工具会使用它声明的 MIME 类型。当前缀缺失时,解码器会读取开头几个字符——它们直接对应图片的魔数字节——并推断格式:iVBORw0KGgo 表示 PNG,/9j/ 表示 JPEG,R0lGOD 表示 GIF,UklGR 表示 WebP,PHN2Zy 或 PD94bWw 表示 SVG。无论哪种方式,你都能得到正确的预览和带正确文件扩展名的下载。
它能解码哪些图片格式?
任何浏览器能从 data URI 渲染的格式:PNG、JPEG/JPG、GIF(含动图)、WebP、SVG、ICO、BMP,以及支持时的 AVIF。由于工具重建的是原始字节而非重新编码,因此透明度、动画和矢量缩放都被精确保留。下载的文件与最初编码的图片逐字节相同——解码再重新编码是一次无损的往返。
为什么我的 Base64 字符串解码失败?
常见原因是:字符串被截断而丢失了末尾的 = 填充、复制粘贴时意外删除或改动了字符、字符串其实是文本或其他二进制而非图片,或者 MIME 类型错误导致浏览器无法渲染本来有效的字节。本解码器会去除空白并容忍缺失前缀,因此这些常见问题会被自动处理——如果它仍然无法渲染,那就是数据本身不完整或不是图片。请重新复制完整的值,包括任何末尾的 == 填充,然后再试一次。
如何把解码后的图片保存为 PNG 或 JPG?
预览出现后,点击「下载」。工具会从 Base64 载荷重建二进制,并以匹配检测到的 MIME 类型的扩展名保存——image/png 用 .png,image/jpeg 用 .jpg,image/svg+xml 用 .svg,以此类推。下载是从精确解码的字节本地重建的,因此它与最初编码的原始文件完全相同。这里没有格式转换:一张 Base64 编码的 PNG 会下载为 PNG,而不是重新渲染的副本。
解码 Base64 等同于解密它吗?
不是。Base64 是一种编码而非加密,解码不需要任何密钥或密码——它只是把 4 字符到 3 字节的映射反过来。任何拿到字符串的人都能恢复出原始图片,而这正是本工具所做的。Base64 不提供任何机密性;它的存在只是为了让二进制数据安全地穿过 HTML、JSON、邮件等基于文本的信道。如果某个字符串在被 Base64 编码之前确实经过了加密,那么在这里解码只会得到加密后的字节,而非可查看的图片。
它能处理很长的 Base64 字符串吗?
能。由于一切都在本地处理,没有上传大小限制——实际上限是你的浏览器能舒适容纳并解码的文本量,在现代机器上这远在数兆字节范围之内。非常大的字符串(一张高分辨率照片编码为 Base64 后可能是数百 KB 的文本)渲染时会稍有停顿,但能正确解码。如果你发现自己经常要解码巨大的字符串,那往往是一个信号:这张图片当初本就应该作为普通文件提供,而不是内联。
这些 Base64 图片字符串都从哪里来?
你最常会在以下地方遇到它们:嵌入在 CSS 中(background-image: url(data:image/png;base64,…))、HTML 的 img src 属性里、JSON API 响应中、邮件源码里、SVG 雪碧图中,以及内联打包资源的配置或主题文件里。开发者把它们粘贴到这里,是为了看清一个不透明的 data URI 究竟包含什么、提取一个没有独立文件的资源,或验证构建工具产出的字符串是否有效。配套的 图片转 Base64 工具正是产出这些字符串的地方。
解码会损失任何质量吗?
不会。Base64 是对原始字节的无损、精确表示——解码返回的正是被编码的那个文件,没有任何质量变化、重新压缩或缩放。如果源图是压缩过的 JPEG,你会拿回同一张 JPEG;如果它是无损的 PNG,你会拿回完全相同的 PNG。唯一改变的是容器(文本字符串 vs 二进制文件)。你看到的任何质量损失,都是在图片被编码之前就已存在于原图中的。