无需登录 数据私有 本地保存

图片转Base64 - 在线图片编码工具

37
0
0
0
上传图片

点击选择、拖拽文件到此处,或使用 Ctrl+V 粘贴

JPG / PNG / GIF / SVG / WebP / BMP / ICO 最大 50MB
图片预览
上传图片后显示预览
Base64 编码结果
常见问题与知识点

Base64 是一种用 64 个可打印字符(A-Z、a-z、0-9、+、/)来表示二进制数据的方法。图片转 Base64 就是将图片文件的二进制数据编码为一串文本字符串,可以直接嵌入到 HTML、CSS 或 JSON 中,无需额外的图片文件请求。常见的格式如 data:image/png;base64,iVBORw0KGgo...,这就是一个完整的 Data URI,可以直接作为 <img src="..."> 的属性值使用。

  • 网页内嵌小图标:将小图标转为 Base64 直接写入 CSS 或 HTML,减少 HTTP 请求数量,提升页面加载速度。
  • 邮件模板:在 HTML 邮件中嵌入图片,避免外部图片被邮件客户端屏蔽。
  • API 数据传输:在 JSON 接口中以文本形式传输图片数据,无需 multipart 上传。
  • 数据库存储:将小图片直接以文本形式存储在数据库中。
  • 单文件 HTML:制作完全自包含的 HTML 文件,所有资源都内嵌其中。
  • 前端预览:在用户上传图片前,通过 Base64 在浏览器中即时预览。

Base64 编码会使数据体积增大约 33% ~ 37%。这是因为每 3 个字节的原始数据被编码为 4 个 Base64 字符。例如,一个 100KB 的图片转成 Base64 后,字符串大约占用 133KB ~ 137KB。因此,不建议对大图片使用 Base64,通常只对小于 10KB ~ 50KB 的小图标、徽标等进行编码,以获得最佳的性能平衡。对于大图片,使用独立的图片文件并通过 CDN 加载是更好的选择。

✅ 适合使用 Base64 的场景:

  • 小于 10KB 的小图标、logo、装饰性图片
  • HTML 邮件中的图片(避免被屏蔽)
  • 需要减少 HTTP 请求的关键渲染路径资源
  • 单文件应用或离线 HTML 文档

❌ 不适合使用 Base64 的场景:

  • 大于 50KB 的图片(体积膨胀明显)
  • 需要浏览器缓存的公共资源(Base64 无法单独缓存)
  • 频繁变更的图片(修改后整个文件需重新传输)
  • 需要 lazy loading 的大图
  • 动图 GIF(Base64 会显著增大体积)

有多种方式可以将 Base64 还原为图片:
1. 浏览器直接查看:将完整的 Data URI(如 data:image/png;base64,...)粘贴到浏览器地址栏,回车即可显示图片。
2. HTML 中使用:将 Data URI 作为 <img src="..."> 的值。
3. 编程解码:使用各编程语言的 Base64 解码库,将 Base64 字符串解码为二进制数据后写入文件。
4. 在线工具:使用 Base64 转图片的在线工具,粘贴编码即可下载还原的图片文件。

支持 JPG、PNG、GIF、SVG、WebP、BMP、ICO 等主流图片格式。

格式转换说明:当您选择"保持原格式"且不调整尺寸时,工具直接读取原始文件进行 Base64 编码,保留原始格式(包括 GIF 动画)。当您选择转换为 PNG/JPEG/WebP 或调整尺寸时,工具使用 Canvas 进行处理:GIF 动画会丢失动画效果(仅保留第一帧),SVG 矢量图会被栅格化为位图。如果您需要保留 GIF 动画或 SVG 矢量特性,请选择"保持原格式"且不调整尺寸。

Base64 不是加密算法,它只是一种编码方式。任何人都可以轻松地将 Base64 字符串解码还原为原始图片。因此,不要依赖 Base64 来保护敏感图片数据。如果需要安全传输,请使用 HTTPS 加密通道,并对敏感数据使用真正的加密算法(如 AES)。本工具的所有处理均在您的浏览器本地完成,图片文件不会上传到任何服务器,确保了您的隐私安全。

对于大图片(超过 5MB),Base64 编码字符串会非常长(可能达到数百万字符),在浏览器中显示和复制可能会有性能影响。建议:
1. 使用"调整尺寸"功能将图片缩小到合适的尺寸。
2. 选择 JPEG 或 WebP 格式并降低质量参数来减小输出体积。
3. 对于超大图片,考虑使用专业的图片处理软件先进行压缩。
4. 如果仅需要预览或网页使用,通常 1920px 宽度已足够,可以安全地缩小大图。