首页 图片工具 图片转 Base64

🖼 图片转 Base64

拖拽或选择图片,自动转换为Base64编码

Ad Space
📁
拖拽图片到这里,或点击选择文件
支持 PNG, JPG, GIF, SVG, WebP 格式

📷 原图预览

Preview
文件名 -
格式 -
尺寸 -
文件大小 -

🔗 Base64 输出

⚠️ Base64编码后体积增大约33%,建议文件小于100KB使用
编码后大小 -
原图
Base64
Ad Space

什么是图片转Base64工具?

图片转Base64工具是一种将图片文件转换为Base64编码字符串的在线工具。Base64编码可以将任意二进制数据(包括图片)表示为纯文本字符串,格式为data:image/[type];base64,[编码数据]。这种Data URL格式可以直接嵌入HTML、CSS或JavaScript代码中,无需额外的HTTP请求即可显示图片。在小图标、装饰性图形等场景中使用Base64内嵌图片,可以减少HTTP请求数量,提升页面加载性能。本工具支持将上传图片实时转换为Base64字符串,支持JPEG、PNG、GIF、WebP、SVG等格式,同时支持调整输出质量以控制字符串长度。

如何使用图片转Base64工具

  1. 上传图片 — 拖拽或点击上传需要转换的图片文件。
  2. 调整设置 — 可选调整输出格式和压缩质量,以控制Base64字符串的长度。
  3. 复制结果 — 获取完整的Data URL字符串,一键复制到剪贴板使用。

常见使用场景

场景一:CSS背景图内嵌

将小图标转换为Base64后嵌入CSS的background-image属性,减少HTTP请求数。适合10KB以下的小图标。

场景二:HTML邮件图片嵌入

HTML邮件中外部图片链接可能被邮件客户端屏蔽。使用Base64内嵌确保图片始终显示。

场景三:JSON数据中携带图片

某些API需要在JSON请求体中包含图片数据,Base64编码允许将图片作为文本字段传递。

技术原理

图片转Base64的完整流程:

// 图片 → Base64 Data URL
// 1. 读取图片文件为二进制数据
// 2. 将二进制数据按Base64规则编码为文本
// 3. 拼接Data URL前缀

// JavaScript实现
const fileInput = document.querySelector('input[type=file]');
fileInput.addEventListener('change', (e) => {
    const file = e.target.files[0];
    const reader = new FileReader();
    reader.onload = (event) => {
        const dataUrl = event.target.result;
        // "data:image/png;base64,iVBORw0KGgo..."
        console.log(dataUrl);
    };
    reader.readAsDataURL(file);
});

// 在HTML中使用
// 图片转 Base64 - 在线工具

// 在CSS中使用
// .icon { background: url("data:image/svg+xml;base64,..."); }

// 体积变化:Base64编码使数据增大约33%
// 10KB图片 → ~13.3KB Base64字符串

最佳实践与注意事项

常见问题

Q:Base64编码后图片会变多大?

A:Base64编码使数据体积增大约33%。一个10KB的PNG图片会变成约13.3KB的Base64字符串。加上Data URL前缀(约30字符),总体积增长约33-35%。

Q:Base64图片有大小限制吗?

A:IE8限制Data URL为32KB,现代浏览器没有严格限制。但建议不超过32KB,因为过长的Data URL会显著增大HTML/CSS文件体积,影响解析速度。

Q:能控制Base64的输出质量吗?

A:可以。先通过Canvas重绘图片并设置quality参数降低JPEG/WebP质量,再导出Base64。本工具提供质量滑块控制输出大小。

Q:SVG用Base64还是URL编码更好?

A:SVG用URL编码(data:image/svg+xml;utf8,...)更好。SVG本身就是文本,URL编码不增加体积(甚至更小),而Base64会增加33%。只有包含特殊字符的SVG才需要Base64。

Q:如何将Base64转回图片?

A:将Base64字符串设置为img标签的src属性即可显示图片。下载可将Data URL通过fetch转为Blob,再生成下载链接。本工具的"Base64转图片"功能支持反向操作。

Frequently Asked Questions

什么是Base64编码?
Base64是一种基于64个可打印ASCII字符来表示二进制数据的编码方式。将图片转换为Base64后,可以得到一个以"data:image/xxx;base64,..."开头的字符串,这个字符串可以直接作为图片的src属性值使用。
为什么要使用图片转Base64?
主要优势:1) 减少HTTP请求,将图片直接嵌入HTML/CSS中;2) 适用于小图标、简单图形;3) 可以用于CSS背景图。主要缺点:编码后体积增大约33%,不适合大图片。
Base64编码会增加文件大小吗?
是的,Base64编码会使数据体积增大约33%。这是因为Base64使用64个字符来表示原始数据的6位,而原始数据是8位一个字节。建议只对小图片(小于100KB)使用Base64编码。
哪些场景适合使用Base64图片?
1) 小图标和简单图形(如小于10KB的图片);2) 需要减少HTTP请求数量的场景;3) CSS中引用的小图片;4) 一次性显示的小图片;5) 离线应用或需要将数据内嵌的场景。
这个工具是否上传我的图片?
不会。所有转换过程都在您的浏览器本地完成,图片不会上传到任何服务器。这确保了您的隐私安全,也意味着离线环境下也可以正常使用。

🔥 同类热门工具

🏷️ 相关标签

转换图片转换文件处理纯前端日期时间图片编码免费