图片工具 · 格式转换

Base64 转图片

任意 dataURL→还原下载

✓本地处理 · 不上传 ✓免费 · 无需登录 ✓无次数限制 累计 116 次使用
dataURL · 裸 base64 · 魔数嗅探 · 还原下载 · 本地
输 入Base64 / dataURL · 整页 Ctrl+V 粘贴 · 拖入 .txt
裸 BASE64 格式
粘贴含 data:image/…;base64, 前缀的 dataURL 时自动忽略此项;仅裸 base64 用它假定格式(默认按文件头魔数嗅探)。

· 智能识别:自动判断完整 data: 协议串还是裸 base64;裸串按魔数嗅探格式——PNG iVBOR / JPEG /9j / GIF R0lG / WebP UklG / SVG PHN2Zy / BMP Qk。

· 容错:自动去除空白换行、按需补足 = padding;非法字符或损坏数据会给出明确中文提示,不会崩溃。

· 反向操作:图片转 Base64 见 /tupian/imgbase64。

粘贴 base64 或 dataURL,
解出的图片将在此实时还原预览
就绪 · 粘贴 base64 或 dataURL 自动还原
第一节

关于本工具

About

从网页源码里扒出一段 data:image/png;base64, 粘贴进来,点一下就能还原成原始图片并下载。前端直接解码,图片数据不出浏览器,不经过任何服务器。适合前端调试时验证 base64 编码是否正确、从邮件或日志里提取图片、或清理聊天记录前把内嵌图片批量捞出来。

使用场景

壹

邮件嵌入签名图

市场部同事需要把公司Logo的Base64编码直接嵌入邮件HTML签名,避免图片因外链失效而显示为红叉。他复制了长达千行的Base64字符串,但Outlook对图片大小有300KB限制。本工具能快速解码并显示图片尺寸与文件大小,让他一眼判断是否超标,省去反复猜测和调整压缩比的试错过程。

贰

验证前端截屏数据

测试工程师在Chrome控制台捕获到一张canvas截图,输出为dataURL格式。他需要确认这张Base64字符串是否真的包含了页面所有元素,还是渲染漏了某个动态图层。用本工具粘贴解码后,直接看到原始图片,对比截图时间戳与页面状态,定位bug效率提升了一倍。

叁

修复手机相册缩略图

用户从微信聊天记录中导出了一张图片,但得到的是Base64编码文本,无法直接预览。他怀疑图片被压缩过,想确认原始分辨率是否还能用于打印。本工具解码后不仅显示图片,还自动给出像素尺寸和色深信息,让他快速判断这张图是否值得导出为高分辨率文件。

肆

安全传输敏感截图

产品经理需要把一张包含客户数据的界面截图发给开发,但公司规定不允许上传到任何第三方图床。他用在线工具把截图转为Base64字符串,再通过内网IM发送。对方拿到字符串后,用本工具解码还原图片,全程数据不离开本地浏览器,满足了合规要求。

伍

调试CSS背景图路径

前端开发在写内联样式时,把一张图标转成了Base64 dataURL嵌入CSS。但浏览器渲染后图标显示为空白,他怀疑是Base64字符串末尾漏了等号或包含了换行符。用本工具粘贴解析,工具会提示格式错误的具体位置,帮他快速定位是编码截断还是语法问题。

第二节

使用指南

Getting Started

使用步骤

  1. 1将完整的 dataURL 字符串(如 data:image/png;base64,...)粘贴到输入框,内容自动识别
  2. 2点击「还原为图片」按钮,页面立即生成预览缩略图,无网络请求
  3. 3右键点击预览图选择「图片另存为」,或点击下方的「下载」按钮保存到本地

输入输出示例

输入输出说明
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAYAAABIdFEMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAHhJREFUeNpi/P//PwMlgImBQkAABJgA8A8AAwAA/8Q/6AAAAAElFTkSuQmCC下载文件(1×36 像素纯色 PNG 图片)常规:极小尺寸图片,验证工具能正确解析标准 data URL 并还原为可下载文件,无尺寸下限限制
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAP//////////////////////////////////////////////////////////////////////////////////////2wBDAf//////////////////////////////////////////////////////////////////////////////////////wAARCAABAAEDASIAAhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAX/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAX/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFREBAQAAAAAAAAAAAAAAAAAAAAX/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwBAAAAB//9k=下载文件(1×1 像素 JPEG 图片)边界:单像素 JPEG,验证工具对极小尺寸且压缩格式正确的 data URL 的处理能力,常见于占位图场景
data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7下载文件(1×1 像素透明 GIF 图片)边界:透明单像素 GIF,验证工具对不同图片格式(PNG/JPEG/GIF)的支持,以及透明通道的保留
data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIj48Y2lyY2xlIGN4PSI1MCIgY3k9IjUwIiByPSI0MCIgZmlsbD0icmVkIi8+PC9zdmc+下载文件(SVG 矢量图,内容为红色圆形)常规:SVG 格式的 data URL,验证工具对矢量图格式的支持,输出为可下载的 SVG 文件
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==下载文件(1×1 像素纯色 PNG 图片,颜色为 #000000)边界:纯黑色单像素 PNG,验证工具对极简图片的还原能力,以及颜色信息的正确保留
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==下载文件(1×1 像素纯色 PNG 图片,颜色为 #000000)易错:重复输入相同 data URL,验证工具对重复输入的稳定性,不会因为缓存或状态问题导致输出错误
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==下载文件(1×1 像素纯色 PNG 图片,颜色为 #000000)易错:输入包含多余空格或换行的 data URL,验证工具对输入格式的容错性,是否会自动去除空白字符

常见错误对照

1.把完整 Base64 字符串当成 dataURL 输入

✗ 错误iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
✓ 修复data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Base64 转图片工具要求输入完整的 dataURL(含 data:image/...;base64, 前缀),而非裸 Base64 字符串。缺少前缀时浏览器无法识别 MIME 类型,导致解码失败。

2.dataURL 里混入换行符或空格

✗ 错误data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAE AAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
✓ 修复data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Base64 编码标准(RFC 4648)规定字符集不含空白符。换行、空格等非字母数字字符会被浏览器视为非法字符,导致 Data URL 解析中断。

3.MIME 类型声明与实际图片格式不匹配

✗ 错误data:image/jpeg;base64,...(实际是 PNG 编码数据)
✓ 修复data:image/png;base64,...(实际是 PNG 编码数据)

浏览器根据 dataURL 中的 MIME 类型决定如何解码。类型声明错误(如写 image/jpeg 但数据是 PNG)会导致解码后文件损坏或无法预览。

4.复制时误截断 Base64 数据尾部的 = 号

✗ 错误data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9aw
✓ 修复data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

Base64 编码的填充字符 = 表示末尾补齐字节。截断 = 会使解码器无法确定原始数据长度,导致输出文件不完整或解码失败。

5.使用 URL 编码后的 dataURL(% 转义)

✗ 错误data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==
✓ 修复data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

浏览器 Data URL 规范(RFC 2397)要求 data: 前缀为字面字符,不支持 URL 编码。% 转义后的字符串不会被识别为 dataURL,工具无法解析。

6.从 HTML img 标签的 src 属性复制时带了引号

✗ 错误"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg=="
✓ 修复data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==

HTML 属性值外的双引号不属于 dataURL 内容。工具按字符串首尾字符解析,多余引号会导致 data: 前缀被污染,无法正确识别协议头。

第三节

工作原理

How It Works

核心公式

data:image/png;base64,<base64字符串>

变量说明

  • data:image/png;base64,MIME 类型前缀,指定图片格式
  • <base64字符串>图片文件的 Base64 编码数据

示例

输入 data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==,工具解析 MIME 类型为 png,将逗号后的 Base64 数据解码为二进制,生成 1×1 像素的红色 PNG 图片供下载。

粘贴 dataURL解析 MIME 头Base64 解码生成 Blob 并下载校验格式非法则提示
用户输入 本地处理 输出结果
第五节

常见问题

Q & A
问我有一段 data:image/png;base64,... 的代码,怎么转成图片下载?+
答

把完整的 dataURL 字符串(包括 data: 开头的那一长串)粘贴到输入框,点击转换按钮,页面会直接生成预览图并显示下载按钮。如果是从网页源码或控制台复制的,注意确认字符串没有因为换行被截断,粘贴后预览区域空白通常就是这个原因。

问只复制了 Base64 编码的那段乱码,没带 data:image/... 开头,能用吗?+
答

可以,但需要手动补全。本工具输入框支持纯 Base64 字符串(不带 data: 前缀),转换时会自动根据图片格式补全头部。如果不确定原图格式,建议用 PNG 或 JPEG 尝试;如果预览出来是黑屏或花屏,说明头部格式猜错了,需要补上正确的 data:image/格式;base64, 再粘贴。

问为什么转换出来的图片是空白的或者只有几像素?+
答

最常见的原因是 Base64 数据本身不完整——复制时漏了末尾几个字符,或者网页源码里 Base64 被截断显示(比如只显示了前 100 个字符)。检查复制的字符串长度是否完整:一张正常 100KB 的图片,Base64 约有 13 万字符;如果只有几十个字符,那肯定不完整。重新从原位置复制完整字符串再试。

问这个工具会把我的 Base64 图片上传到服务器吗?+
答

不会。本工具完全在浏览器本地运行,所有 Base64 解码、图片生成、预览和下载都在你电脑的内存中完成,没有数据发送到任何服务器。断网环境下仍然可以正常使用,粘贴后即刻出结果,没有网络请求。

问支持哪些图片格式?比如 WebP、SVG 行不行?+
答

支持所有标准图片格式,包括 PNG、JPEG、GIF、WebP、BMP、ICO 以及 SVG。只要 dataURL 头部写对了格式(如 data:image/webp;base64,),本工具就能正确还原。SVG 比较特殊,如果 Base64 解码后是 XML 文本而不是二进制图片,预览区会直接显示 SVG 图形,下载时保存为 .svg 文件即可。

问Base64 字符串太长,粘贴到输入框卡死了怎么办?+
答

Base64 编码后的字符串比原图大 1/3,一张 5MB 的图片编码后接近 7MB 字符。如果浏览器卡顿,可以分段粘贴:先把前 1000 字符粘贴进去,等页面响应后再粘贴剩余的。另外建议用 Chrome 或 Edge 浏览器,Safari 对大字符串处理较慢。如果原图超过 50MB,推荐直接用图片文件转换,而不是 Base64 方式。

问为什么我用其他工具生成的 Base64 贴到这里转不出来?+
答

检查两点:1)其他工具生成的 Base64 是否带 data: 前缀,如果只有裸编码,本工具能自动补全但可能猜错格式;2)确认 Base64 字符串里没有换行符或空格——有些工具为了阅读会在长字符串里加换行,本工具要求连续无空格的纯字符串。如果是从 JSON 或文本文件里复制出来的,先检查有没有被转义(比如 \/ 变成了 /)。

问转出来的图片和原图一模一样吗?会不会被压缩?+
答

一模一样,没有任何压缩或质量损失。Base64 编码是图片二进制数据的直接文本表示,解码过程是精确还原,不会改变任何一个像素。本工具只做解码和展示,不进行任何重编码或压缩处理。如果发现转出来的图片变模糊或颜色不对,说明原始 Base64 数据本身就是有损压缩后的版本。

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

↑↓选择 ↵打开 ⌘+↵新窗口 esc关闭