> 解码 | 预览 | 下载 <

// 将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 一定会解码出损坏的图片。

0 字符
🖼️

解码后的图片将在此显示

[安全]

本地处理

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/jpegimage/jpg 并不是有效的类型。

问:动态 GIF 怎么从 Base64 解码?

答:GIF 文件以 GIF87aGIF89a 开头(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 的倍数,末尾补足 = 再解码。

// 其他语言