本工具可以把图片转换为 Base64 编码,用于将小图片内联到 HTML、CSS 或 JavaScript 中,减少一次 HTTP 请求。支持:
data:image/png;base64,xxx)或 *纯 Base64(去掉前缀);<img>*、**CSS background-image**、*JS 变量 代码片段;Base64 是一种把二进制数据*编码成 *64 个可打印 ASCII 字符(A-Z、a-z、0-9、+、/)的编码方式。图片本身是二进制数据,经过 Base64 编码后可以像普通文本一样嵌入 HTML、CSS、JSON 中,无需额外文件请求。
Data URI 格式:
data:[<MIME类型>][;charset=<字符集>][;base64],<数据>
例如一张 PNG 图片的 Data URI:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAB...
| 优点 | 缺点 |
|---|---|
| 减少 HTTP 请求次数 | 体积比原图大约 33% |
| 图片随页面/样式一起加载 | 无法被浏览器单独缓存 |
| 无需管理图片外链 | 大图会让 HTML/CSS 体积膨胀 |
| 适合图标、小图、邮件签名 | 不利于 SEO 与图片懒加载 |
Base64 用 4 个字符表示 3 个字节(24 位 → 32 位),因此体积会膨胀约 1/3。再加上 Data URI 前缀(data:image/png;base64,),实际增量略高于 33%。
%XX 形式,用于安全地拼接 URL 参数。两者用途不同,Base64 不适合直接拼进 URL(+、/、= 需额外处理)。| 图片大小 | 建议 |
|---|---|
| < 5 KB(图标、小装饰) | 用 Base64 内联,减少请求 |
| 5 KB ~ 50 KB | 视情况,结合 HTTP/2 多路复用可优先外链 |
| > 50 KB(照片、大图) | 用外链 + 浏览器缓存 |
浏览器解析 data: URI 时会直接解码并渲染,不会发起网络请求。这也是为什么内联图片在断网时仍能显示,但代价是 HTML/CSS 文件变大,首屏解析时间增加。
一次能上传多少张图片?
SVG 图片适合转 Base64 吗?
Base64 内联图片有什么缺点?
生成的 Base64 怎么用?
为什么转成 Base64 后体积变大了?
图片会被上传到服务器吗?
Data URI 和纯 Base64 有什么区别?
图片转 BASE64 工具支持哪些图片格式?