> 解码 | 预览 | 下载 <
// 将Base64字符串转换回图片,支持即时预览和下载
// 在此粘贴 data: URI
如果你的字符串以 data:image/png;base64, 或 data:image/jpeg;base64, 开头,直接粘贴到上方输入框即可——解码器会从前缀里读取 MIME 类型,跳过格式探测。也可以粘贴不带 data: 前缀的纯 Base64,工具会通过 magic 字节(PNG 的 iVBORw0KGgo、JPEG 的 /9j/、GIF 的 R0lGOD、WebP 的 UklGR)自动识别格式。
PNG data URI(1×1 透明像素)
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=
JPEG data URI
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/...
SVG data URI(文本格式——也支持内联)
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI0MCIvPjwvc3ZnPg==
纯 Base64(无前缀——自动识别为 PNG)
iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=
// 提示:从浏览器开发者工具复制 data: URI 时,控制台经常会截断长字符串。请直接从源头复制——CSS 文件、HTML 属性或 API 响应——以确保拿到完整字符串。被截断的 payload 一定会解码出损坏的图片。
解码后的图片将在此显示
本地处理
100%客户端Base64解码。您的数据永远不会离开浏览器。
即时预览
立即查看解码后的图片,包含格式和大小信息。
无限制
解码任意大小的Base64字符串。无需注册或API密钥。
// 关于BASE64转图片转换
支持的图片格式
- >PNG - 无损压缩,支持透明度
- >JPEG/JPG - 适用于照片与复杂图像
- >GIF - 动态图片和简单图形
- >WebP - 现代格式,压缩率更高
- >SVG - 可缩放矢量图形
- >BMP - 未压缩位图格式
- >ICO - Windows 图标格式
常见使用场景
- >HTML 邮件中的内嵌图片
- >在 CSS/HTML 中使用 data URI
- >处理 API 响应中的图片数据
- >将数据库 BLOB 字段转换为图片
- >Web 应用的离线图片存储
- >移动应用中的图片缓存
- >在 JSON 载荷中传输图片
Base64 转图片的工作原理
Base64 解码会把以文本编码的二进制数据还原为原始图片格式。每 4 个 Base64 字符对应 3 个字节的二进制数据,效率约为 75%。本工具会自动检测图片格式并生成可下载的文件。
Data URI 示例格式:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8/5+hHgAHggJ/PchI7wAAAABJRU5ErkJggg==
性能与浏览器兼容性
- >完全在客户端处理,最大化安全性
- >支持直到浏览器内存上限的文件大小
- >兼容所有现代浏览器(Chrome、Firefox、Safari、Edge)
- >无需上传到服务器或传输数据
- >即时转换并提供实时预览
- >移动设备友好的响应式界面
// 图像编码转换器、图片解码器、图片预览器——同一工具的不同叫法
这个工具有很多名字
搜索引擎收录这个页面的关键词数十种:Base64 图片解码器、图像编码转换器、图片编码转换器、Base64 图片预览、图像编码器在线、图片 Base64 转换。它们指的都是同一个流程——把 Base64 字符串还原成原始图片字节,再渲染出来供你直观验证。
如果你想要的是编码器(图片 → Base64 字符串),请使用我们的图片转 Base64 工具。本页是反向操作:Base64 字符串 → 图片。两个工具互为逆运算。
解码器、查看器、转换器——有区别吗?
实际工作中没有区别。三种叫法都描述了同一个工具:把 Base64 字符串变成可见图片。底层做的事完全相同——把 Base64 字母表(A-Z a-z 0-9 + /)反向映射回二进制字节,再把字节交给浏览器的图像渲染引擎。
解码器强调的是格式转换(文本 → 字节)。查看器强调的是预览呈现(字节 → 屏幕像素)。转换器是统称。我们的工具一键完成全部三步——粘贴字符串、看到图片、下载文件。
什么时候你会用到图像 Base64 解码器
调试 API 响应——后端返回 { "avatar": "iVBORw0KGgo..." },你需要在动手写前端代码前确认字节确实是有效 PNG。
检查 data URI——CSS 或 HTML 属性里有一段很长的 data:image/png;base64,...,你想看清楚它实际显示的是什么。
提取嵌入图片——邮件、JSON 配置、数据库 BLOB 字段里把图片以 Base64 文本形式存储,你需要把它还原成普通文件。
验证邮件模板素材——HTML 邮件常通过 Base64 内联图片来绕过远程图片屏蔽。把内联字符串粘贴进来,可以在群发前先确认渲染效果。
无需手动指定 MIME 类型的格式自动识别
如果输入没有 data:image/...;base64, 前缀,解码器会读取解码后的前几个字节(magic number)来判断格式。89 50 4E 47 是 PNG;FF D8 FF 是 JPEG;47 49 46 38 是 GIF;52 49 46 46 ... 57 45 42 50 是 WebP;3C 73 76 67(即 <svg 的 ASCII)是 SVG。
这意味着你完全不需要告诉工具是什么格式——粘贴原始 payload 点解码即可,正确的图片就会出现。下载按钮也会自动保留识别出的格式。
隐私与离线行为
你粘贴进来的每个字节都通过浏览器内的 JavaScript 和原生 Image 构造器在本地解码完成。没有上传,没有日志。页面加载完成后解码器也能完全离线工作——在隔离环境或公司严格代理后调试敏感图片数据时尤其有用。
// 分步操作指南
步骤 1:粘贴
将 Base64 字符串或 data URI 粘贴到输入框中
步骤 2:预览
点击“解码”,立即查看图片预览和详细信息
步骤 3:分析
检查图片格式、尺寸和文件大小等信息
步骤 4:下载
将解码后的图片以原始格式下载到您的设备
// 代码示例
JavaScript(浏览器)
// Decode Base64 to image
const base64String = 'data:image/png;base64,iVBORw0...';
const img = new Image();
img.src = base64String;
document.body.appendChild(img);
在浏览器中使用 Image 构造函数,将 Base64 字符串转换为图片的简单示例。
JavaScript(Node.js)
const fs = require('fs');
const base64Data = 'iVBORw0KGgoAAAANSUhEUg...';
const buffer = Buffer.from(base64Data, 'base64');
fs.writeFileSync('decoded-image.png', buffer);
在服务端使用 Node.js Buffer 和文件系统,将 Base64 解码为图片文件。
Python
import base64
from io import BytesIO
from PIL import Image
base64_string = 'iVBORw0KGgoAAAANSUhEUg...'
image_data = base64.b64decode(base64_string)
image = Image.open(BytesIO(image_data))
image.save('decoded-image.png')
使用 Python 的 base64 模块和 PIL 库进行图片解码和处理。
PHP
<?php
$base64String = 'iVBORw0KGgoAAAANSUhEUg...';
$imageData = base64_decode($base64String);
file_put_contents('decoded-image.png', $imageData);
echo 'Image decoded and saved!';
?>
在 PHP 中使用内置 base64_decode() 函数解码 Base64 到图片。
// 常见问题
问:什么是Base64图片解码?
答:Base64图片解码是将Base64编码字符串转换回原始图片格式(PNG、JPEG、GIF等)的过程。对于查看来自数据URI、API或数据库的嵌入式图片至关重要。
问:Base64转图片转换有多安全?
答:100%安全的本地处理。所有Base64解码都在您的浏览器中进行。零服务器上传。您的图片永远不会离开设备。
问:支持哪些图片格式?
答:支持所有常见图片格式:PNG、JPEG、GIF、WebP、SVG等。可从Base64数据自动检测格式。
问:可以解码数据URI格式吗?
答:是的。支持数据URI格式(data:image/png;base64,...)和原始Base64字符串。包含自动检测功能。
问:有文件大小限制吗?
答:没有硬限制。可有效处理100MB以上的图片。性能可能因设备内存和浏览器容量而异。
问:如何处理无效的Base64输入?
答:工具自动验证Base64格式,并为无效输入显示清晰的错误消息。帮助识别和修复编码问题。
问:可以用于批量图片转换吗?
答:目前支持单个转换。对于批量处理,请使用我们的代码示例构建自己的脚本或API。
问:数据URI和原始Base64有什么区别?
答:数据URI包含MIME类型(data:image/png;base64,ABC...),而原始Base64只是编码字符串(ABC...)。我们自动支持两种格式。
问:这个工具可以离线工作吗?
答:是的,一旦页面加载完成,所有Base64解码都可以离线工作。转换无需互联网连接。
问:如何优化图片质量?
答:Base64解码保持原始图片质量。质量由Base64编码前的原始图片决定,而不是解码过程。
问:可以将Base64转换为不同的图片格式吗?
答:解码保持原始格式。要进行格式转换,请先下载图片,然后使用专用的图像编辑工具。
问:有提供给开发者使用的API吗?
答:目前仅提供网页界面。若需程序化集成,可参考页面上的JavaScript、Python、PHP等语言示例,自行实现API或服务。
问:Base64 怎么转成 PNG 图片?
答:无论你粘贴的是完整 Data URI(data:image/png;base64,iVBORw0KGgo…)还是纯 Base64,本工具都会通过文件魔数识别:PNG 的二进制起始字节固定为 89 50 4E 47,对应的 Base64 前缀就是 iVBORw0K。点击解码后预览图片,然后点击下载保存为 .png,透明通道会保留。
问:Base64 怎么转成 JPG / JPEG?
答:JPEG 文件以 FF D8 FF 开头,Base64 对应的前缀是 /9j/。如果字符串以 /9j/4AAQSkZJ… 打头,即使没有 data:image/jpeg;base64, 前缀也肯定是 JPEG。点击解码并保存为 .jpg 即可。注意 MIME 的正确写法始终是 image/jpeg,image/jpg 并不是有效的类型。
问:动态 GIF 怎么从 Base64 解码?
答:GIF 文件以 GIF87a 或 GIF89a 开头(Base64 前缀 R0lGODlh)。直接粘贴整段 Base64,工具会自动识别为 image/gif,预览区会完整播放动画,下载得到的 .gif 会保留所有帧、调色板和帧间延迟。
问:Base64 怎么转成 WebP?
答:WebP 的文件头包含 RIFF 签名 52 49 46 46 .. .. .. .. 57 45 42 50,Base64 前缀通常是 UklGR,后续字节里会出现 WEBP。解码后下载为 .webp,Chrome、Edge、Firefox、Safari 16+ 等现代浏览器可直接渲染,无需再次转换。
问:SVG 怎么从 Base64 解码?
答:SVG 是文本格式的 XML,解码后内容会类似 <svg xmlns="http://www.w3.org/2000/svg" …>。预览区按矢量渲染,下载得到 .svg,可以用 VS Code、Figma、Illustrator、Inkscape 打开继续编辑。如果你看到的是 data:image/svg+xml;utf8, 开头,那就是 URL 编码而不是 Base64,不需要走 Base64 解码。
问:Data URI 和原始 Base64 到底有什么区别?
答:Data URI 包含 MIME 头:data:image/png;base64,iVBORw0KGgo…;原始 Base64 就是逗号之后的部分:iVBORw0KGgo…。本工具两种都支持,只给纯 Base64 时会通过魔数识别图片类型。调用 fetch() 或 REST 接口时返回的字段经常是纯 Base64,这时直接粘贴即可。
问:为什么解码后图片显示错误或一片空白?
答:常见原因:
• 粘贴时带入换行 / 空格,先清理再解码。
• MIME 前缀重复(data:image/png;base64,data:image/png;base64,…)。
• 实际是 URL 编码而不是 Base64(包含 %2B、%2F、%3D),先做一次 URL 解码。
• 输入是 Base64URL(使用 - 和 _),需要先替换回 + 和 /。
• 字符串长度不是 4 的倍数,末尾补足 = 再解码。