图片转 Base64

把 PNG、JPG、WebP、GIF 图片转换成 Base64 Data URI、纯 Base64 字符串、HTML img 标签或 CSS

🌍 全球访问 🔒 隐私优先 ⚡ 即时转换 💯 无限使用
📄

把图片文件拖到这里

或点击选择文件

Advertisement

把 PNG、JPG、WebP、GIF 或 SVG 转成 Base64,并以你真正需要的形式拿到结果:完整的 Data URI、纯 Base64 字符串、HTML <img> 标签,或者 CSS 背景声明,复制即可使用。

把体积很小的图形直接嵌进代码里可以省掉一次网络请求,也保证图标在样式表加载之前就能显示出来——这正是 Data URI 在图标、加载动画和邮件签名里流行的原因。代价是体积:Base64 比二进制文件大约大三成,而且无法被单独缓存,所以只适合小资源,大图还是照常链接引用。

如何把图片转换成 Base64

1

选择一张图片

2

选择你需要的输出格式

3

复制 Data URI、标签或 CSS

常见问题

什么时候该内嵌图片而不是链接它?

对于大约 10 KB 以下、使用频繁的小图形——图标、Logo、加载动画——省下一次请求比体积增大更重要。大照片应该继续以文件形式引用,让浏览器能够缓存。

为什么 Base64 字符串比我的文件还大?

Base64 把每三个字节编码成四个字符,因此会增加约 33% 的体积。这部分开销来自编码方式本身,无法避免。

可以用哪些格式?

PNG、JPG、WebP、GIF 和 SVG。以 Data URI 内嵌的矢量 SVG 依然可以任意缩放,所以它常常是图标的最佳选择。

它在 CSS 和 HTML 里都能用吗?

可以,复制 CSS 形式用在 background-image 声明里,或者复制 HTML 形式用在 img 的 src 属性上。

邮件客户端会显示它吗?

多数现代客户端可以,但有些出于安全考虑会过滤掉 Data URI。如果要用于邮件模板并且版式很重要,就把图片托管起来并改用链接引用。

我的图片会被上传吗?

不会,编码在你的浏览器里完成。

一览

输入图片
多个文件是
运行位置在你的浏览器中——文件永远不会被上传
离线可用是 — 页面加载完成后
价格免费,无需注册,无水印

转换在哪里悄悄出错

大多数转换缺陷与语法无关,而与含义有关。一列邮编的 CSV 字段会在表格软件猜它是数字的那一刻丢掉前导零;一个很长的 ID 会超出浮点精度;日期会因为先写日还是先写月而意思大变。JSON 的键是无序的,但数组是有序的,排序键的工具不会改变任何东西,而排序数组的工具会改变数据。Unicode 是另一个陷阱:文本可能以 UTF-8、UTF-16 或带字节顺序标记的形式到来,解码器猜错就会把带重音的字符变成乱码。在信任任何转换之前,抽查第一行和最后一行、任何带前导零的字段,以及任何含有引号、逗号或换行的字段。

选择数据格式

JSON 是 API 返回以及程序读取的任何数据的默认格式:它天然处理嵌套结构、数字、布尔值和 null,而且每种语言都能解析它。CSV 更小,能直接打开进表格软件,但它无法表达嵌套,在分隔符、引号规则和字符集上也没有共同标准——而这正是转换出错的地方。XML 冗长,但能承载属性、混合内容和模式,所以它仍然主导着文档格式和遗留系统集成。YAML 对配置来说最易读,但它对空白敏感,还有出人意料的类型强制转换(「no」会变成 false,像 1.10 这样的版本号会变成 1.1)。请选择使用方工具偏好的格式,而不是看起来最漂亮的格式。

Advertisement