HandyTools Hub
← 返回工具列表

图片转 Base64

将图片转换为 Base64 数据 URI

将图片拖放到此处或点击浏览

PNG、JPEG、GIF、WebP、SVG、BMP

图片转 Base64 工具可以把图片文件变成一段 Base64 编码的 Data URI,直接嵌进 HTML、CSS、JSON 或任何代码里。支持 PNG、JPEG、GIF、WebP、SVG、BMP 六种格式,还会清楚显示编码后体积涨了多少。整个过程都在浏览器本地完成,图片不会上传到服务器。

如何使用

  • 选择图片: 点击上传区域,或直接把 PNG、JPEG、GIF、WebP、SVG、BMP 文件拖进来。
  • 查看信息: 工具会显示 MIME 类型、原始大小和编码后的长度。
  • 复制结果: 一键复制完整的 Data URI(包含 data:image/…;base64, 前缀)。
  • 嵌入使用: 把字符串粘贴到 img 的 src、CSS 的 background-image 或 JSON 字段里。

功能特性

  • 支持 PNG、JPEG、GIF、WebP、SVG、BMP 六种格式
  • 输出带正确 MIME 类型的完整 Data URI
  • 显示原始大小、Base64 长度和体积增幅
  • 一键复制到剪贴板
  • 基于 FileReader API 的纯本地编码

什么是 Base64 编码?

Base64 是一种把二进制数据表示成纯文本的方法:每 3 个字节换算成 4 个字符,字符来自一个 64 字符的字母表。这就是为什么编码后的体积总是比原文件大约 33%。因为编码结果就是一段普通文本,所以它可以出现在任何能放文本的地方——HTML 属性、CSS 文件、JSON 请求体、邮件附件,都是 Base64 的常见用途。

图片场景下,编码字符串通常包在 data:image/png;base64,… 这样的 Data URI 里。浏览器在 img 标签里遇到它时,会直接解码渲染,不用再发一次网络请求。所以 Base64 很适合图标这类小资源,但不适合照片:体积多出的三分之一加上无法被浏览器缓存,省下的那一次请求并不划算。

使用场景

  • 前端开发: 把小图标和 Logo 内联进 CSS 或 HTML,减少 HTTP 请求。
  • 邮件模板: 把图片直接嵌进 HTML 邮件,避免外链加载失败。
  • 接口开发: 在 JSON 里传缩略图,省去 multipart 上传的麻烦。
  • 写文档: 把截图直接放进单文件 HTML 演示或 Markdown 里。

相关工具

常见问题

Base64 编码会使文件大小增加多少?

Base64 编码会使文件大小增加大约 33%,因为它每 3 个字节的二进制数据编码为 4 个 ASCII 字符。例如,一个 100KB 的图像会变成一个大约 133KB 的 Base64 字符串。

何时应该使用 Base64 图像 vs 外部文件?

对于小图像(小于 10KB),如图标、Logo 和缩略图,使用 Base64 可以消除一次 HTTP 请求,其好处胜过尺寸增加。对于较大的图像,使用具有适当缓存的外部文件更为高效。

我的图像会上传到服务器吗?

不会。所有图像处理和 Base64 编码完全在您的浏览器中通过 FileReader API 完成。您的图像永远不会离开您的设备,从而确保完全的隐私。