图片转Base64

将任意图片转换为Base64数据URL字符串

开发者工具

如何使用 图片转Base64

  1. 1上传您的图片
  2. 2复制生成的 Base64 字符串
  3. 3粘贴到 HTML img src、CSS background-image 或 JSON 载荷中
  4. 4将其直接粘贴到您的 HTML 或 CSS 中

关于 图片转Base64

图片转Base64将您的图片文件转换为Base64文本字符串,可直接嵌入HTML img标签、CSS背景或JSON载荷中——无需单独的图片文件。该工具显示完整的数据URL、绯Base64部分以及HTML代码片段示例。

Base64编码是在文本格式中嵌入二进制图像数据的标准技术,广泛用于无法引用外部文件的HTML邮件模板、CSS文件、JSON API响应以及SVG文件。该工具可在浏览器中即时完成转换。

提供三种输出视图:完整数据URL(可直接粘贴到src属性)、原始Base64字符串(适用于API)以及完整的HTML img标签示例。

图片转Base64的主要功能

  • 无需服务器往返,即时转换
  • 完整数据URL输出,可直接粘贴到HTML src属性
  • 绯Base64字符串输出,适用于JSON API和自定义集成
  • 一键生成HTML img标签代码片段
  • 每个输出部分均有复制到剪贴板按鈕
  • 支持浏览器可显示的所有图片格式
  • 不受文件大小限制(仅受浏览器内存限制)
  • 完全在客户端运行——您的图片数据永不离开设备

支持的格式

输入格式

PNGJPGWEBPGIFSVGBMPICO

输出格式

Base64 数据URL字符串原始Base64字符串HTML img 代码片段

输出的数据URL会自动包含正确的MIME类型前缀(如data:image/png;base64,等)。

示例

HTML邮件中的内联图标

将图标直接嵌入邮件HTML中,即使外部图片被屏蔽也能正常显示。

输入

32x32 PNG图标

输出

data:image/png;base64,iVBOR...(完整数据URL)

CSS背景图片

在CSS background-image属性中使用数据URL,避免为小型装饰资源发出额外的HTTP请求。

输入

小型装饰PNG纹理

输出

background-image: url("data:image/png;base64,...")

JSON API响应中的图片

复制原始Base64字符串作为JSON载荷中"avatar"字段的局,不含数据URL前缀。

输入

用户头像PNG

输出

JSON字段局的原始Base64字符串

常见使用场景

  • 将小图标直接嵌入HTML以避免额外的HTTP请求
  • 在CSS中内联图像用于背景图形
  • 在JSON API负载或配置文件中存储图像数据
  • 创建包含嵌入图像的自包含HTML电子邮件模板
  • 编码签名图像以嵌入PDF生成脚本
  • 将小精灵图直接捆绑到JavaScript源文件中

故障排除

输出字符串极长,导致编辑器变慢

解决方案

Base64编码会将大小增加约33%。对于超过100KB的图像,考虑将其作为常规文件提供,而不是内联数据URI。

数据URI在浏览器中不显示

解决方案

确保数据URI包含正确的MIME类型前缀,例如"data:image/png;base64,"——工具会自动生成这个,检查复制时是否意外截断。

SVG编码产生损坏的输出

解决方案

对于SVG文件,URL编码有时比Base64更可靠。使用原始SVG源代码或改为对SVG字符串进行URL编码。

常见问题

为什么要对图片使用 Base64?

Base64编码的图片可直接嵌入HTML、CSS或JSON中,无需将图片托管为单独文件。这样可以减少每张图片的HTTP请求,在禁止外部图片托管的HTML邮件中尤为重要。

Base64 会增加文件大小吗?

会,Base64编码会使原始字符串大小增加约33%。Base64嵌入最适合用于10KB以下的小图片,如图标和装饰元素。

数据URL和原始Base64字符串有什么区别?

数据URL包含MIME类型前缀(如data:image/png;base64,)后跟Base64数据。原始Base64字符串只有编码数据,不含前缀。在HTML src属性和CSS url()値中使用完整URL;当API只需要Base64输入时使用原始字符串。

有文件大小限制吗?

由于所有编码都在浏览器中进行,因此没有服务器端限制。现代设备上最大10MB的图片可以可靠地编码。非常大的图片可能会导致浏览器标签页变慢或崩溃。

支持哪些图片格式?

支持浏览器可加载的任何格式:PNG、JPG、WEBP、GIF、SVG、BMP和ICO。MIME类型会自动从文件中检测并包含在数据URL前缀中(如data:image/png;base64,)。

我可以在CSS中使用Base64输出吗?

可以。将完整数据URL用作CSS background-image属性的局:background-image: url("data:image/png;base64,...")。这种技术适用于小型装饰图片和图标,可消除额外的HTTP请求。

我可以在JSON API中使用Base64输出吗?

可以。复制原始Base64字符串(不含数据URL前缀)作为JSON载荷中图片字段的局。许多接受图片数据的API期望不含MIME前缀的Base64——请查阅API文档确认所需格式。

Base64输出中的透明度会怎样?

当源文件是具有Alpha通道的PNG或WEBP时,Base64输出中的透明度会完整保留。数据URL前缀中的MIME类型(data:image/png;base64,)告诉浏览器正确渲染透明度。