使用方法
- 选择 Image → Base64 并选取图片文件,或选择 Base64 → Image 进行反向转换。
- 选择所需的输出格式:数据 URL、纯 Base64、HTML img 标签、CSS background-image 规则或 Markdown。
- 复制结果并粘贴到代码、电子邮件模板或 JSON 中。
- 如需解码,请粘贴数据 URL 或纯 Base64;图片会显示预览,并可供下载。
工作原理
Base64 用 64 个可打印字符表示二进制数据,因此可以将图片直接写入文本格式。数据 URL 会在编码后的字节前添加媒体类型,例如 data:image/png;base64,。浏览器允许在所有可使用图片 URL 的地方使用数据 URL:例如 img 标签的 src、CSS 的 url() 或 SVG 图片引用。
编码后的文本总是比原始文件大约多三分之一(每 3 个字节对应 4 个字符)。将小图标和占位图内嵌可以省去单独的网络请求,但内嵌数据无法单独缓存;每次加载包含它的页面或样式表时都会重新下载,因此超过几 KB 后通常就不划算了。许多电子邮件客户端会屏蔽或移除数据 URL 图片,因此用于电子邮件简报前请先测试。
文件会按字节逐一编码:不会重新压缩,文件中的元数据(例如 EXIF)也会保留。解码时,此工具支持完整的数据 URL、纯 Base64、URL 安全的 Base64,以及带有 CSS url(…) 包装的文本。图片类型会根据解码后的字节识别,而不是依赖标签中的声明。
示例
样式表中的小图标
一个 600 字节的 PNG 图标会变成 800 个字符的 Base64 字符串。选择 CSS 输出后,会生成一条可直接粘贴到 class 中的 background-image 规则,无需单独托管文件。
来自 API 响应的图片
API 返回了一个 JSON 字段,例如 "iVBORw0KGgoAAAANSUhEUg…"。将其粘贴到 Base64 → Image,即可查看图片、检查尺寸并将其下载为 PNG。
HTML 中的 SVG 徽标
将 SVG 编码后会得到一个 data:image/svg+xml;base64 URL,可在 img 标签中使用。对于 SVG,未压缩的 SVG 标记通常比 Base64 更短,因此可以考虑直接内嵌 SVG。
常见问题
为什么 Base64 版本比我的图片大?
Base64 用 4 个文本字符存储 3 个字节,体积会增加约 33%,再加上数据 URL 前缀带来的少量增量。Web 服务器上的 Gzip 或 Brotli 压缩可以缩小差距,但无法完全消除。
编码会改变或压缩图片吗?
不会。文件的原始字节会被完整编码,包括其中的元数据。若要缩短字符串,请先压缩或调整图片尺寸。
数据 URL 与纯 Base64 有什么区别?
纯 Base64 只是编码后的字节。数据 URL 会添加 data:image/jpeg;base64, 这样的前缀,告知浏览器文件类型,因此可以直接用作图片源。
有大小限制吗?
此处可编码最大 10 MB 的文件。过长的字符串可能会导致文本框和编辑器运行缓慢,这么大的数据 URL 也不适合用于网站。
隐私
编码和解码均在浏览器中完成。你的图片和 Base64 文本不会上传、存储或纳入分析。