Skip to content

图片转 Base64 ​

写一个单文件的 HTML 页面,不想再带一个图片文件;或者调接口时要把图片塞进 JSON 里传。这两种场景都需要把图片变成一串文本。

「图片转 Base64」工具页初始界面:选择图片 / 参数配置 / 模式 / Base64 转图片 / 实时预览;页头标签「浏览器本地执行 · 免费」

打开「图片转 Base64」看到的初始界面。在浏览器本地完成、数据不离开浏览器,免费。

它解决什么 ​

Base64 把二进制数据编码成纯文本,于是图片可以直接内联在代码里:

html
<img src="data:image/png;base64,iVBORw0KG...">

好处是少一次网络请求,页面自包含、一个文件就能跑。

代价:体积涨三分之一 ​

Base64 用 4 个字符表示 3 个字节,所以编码后体积增加约 33%。

这带来一条明确的使用边界:

  • 小图标、小背景(< 10KB) → 内联划算,省下的那次请求比多出的体积值钱
  • 大图(> 50KB) → 不要内联。它会让 HTML/CSS 文件本身变得很大,而且无法被浏览器单独缓存——改一次页面,整张图要重新下载

另一个隐藏代价 ​

内联的图片不会被浏览器缓存。同一张图出现在三个页面里,就要下载三遍。而作为独立文件时,浏览器缓存一次全站复用。

所以内联适合「这个页面独有的小图」,不适合 logo 这类全站复用的资源。

解码:从 Base64 还原成图片 ​

反向模式。常用于:

  • 接口返回了 Base64 图片,想存成文件看看
  • 从别人的代码里抠一张内联图出来

粘贴时要不要带 data:image/png;base64, 前缀都可以,工具会自动处理。

支持 SVG ​

SVG 是文本格式,也可以 Base64 内联。但对 SVG 来说通常直接内联标签更好——<svg>...</svg> 写进 HTML 里,既不涨体积,还能用 CSS 控制颜色。Base64 编码的 SVG 就变成了一个不可控的黑盒。

浏览器本地处理 ​

图片不上传。

相关工具 ​

最后更新:2026-09-05