结果仅供参考,可能包含错误。请自行核实重要信息。使用本工具风险自负。
这个工具能做什么
图片转 Base64 工具会把图片文件转换成一个 data URL:一行以 data:image/png;base64,(或你的文件对应的类型)开头的文本,后面跟着经过 Base64 编码的图片字节。选择 PNG、JPG、GIF、SVG、WebP 或任何其他图片,文本就会连同预览一起出现,可以直接复制。
文件通过浏览器的 FileReader 读取,因此永远不会被上传。凡是能使用普通图片地址的地方,都可以使用 data URL:<img src>、CSS 的 background-image: url(...)、JSON 请求体或邮件模板。Base64 会让数据比原始文件大约增加三分之一,所以最适合小图片。
适用场景
- 把小图标或 logo 嵌入 CSS,让页面少发一次请求。
- 把图片放进一个自包含的单一 HTML 文件,例如报告或演示页面。
- 通过不支持 multipart 上传的 JSON API 请求发送图片。
- 在 HTML 邮件签名或测试 fixture 中加入内联图片。
示例
输入
pixel.png(1 × 1 px,蓝色,69 字节)
输出
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR42mOwbvoGAAKvAbSJsn7VAAAAAElFTkSuQmCC关于这个工具的问题
为什么 Base64 文本比我的图片还大?
Base64 把每 3 个字节写成 4 个文本字符,所以结果比原文件大约大 33%。一张 30 KB 的图片会变成大约 40 KB 的文本。服务器端的 Gzip 或 Brotli 压缩可以弥补一部分。
什么情况下不应该内联图片?
大尺寸照片以及在很多页面上都会用到的图片不适合内联。普通的图片文件只需被浏览器缓存一次,而内联图片会随着包含它的每个 HTML 或 CSS 文件被重复下载。
如何在 CSS 中使用结果?
用 url() 包起来:background-image: url("data:image/png;base64,...");。对于 SVG 图标,经过 URL 编码的 SVG 往往比 Base64 更小,可以用 URL 编码页面来生成。
如何把 Base64 还原成图片?
把完整的 data URL 粘贴到浏览器地址栏中,然后保存图片;如果需要原始字节,也可以用 Base64 解码工具解码逗号后面的部分。
这个工具免费吗?
是的,完全免费。无需注册或电子邮箱。结果直接显示在本页。
如何获取结果?
在此页面使用工具即可查看结果,无需通过电子邮件接收。