🖼️ 选择图片

🧬
点击选择,或把图片拖到这里
支持 PNG / JPG / GIF / WebP / SVG,可多选

dataURL 可直接贴进 src / href;
CSS 适合做背景图、图标雪碧图;
HTML 直接就是一段可插入网页的代码。

🧬

选张图,转成一段能直接贴进代码的字符串。

📊 常见使用场景与注意事项

Base64 内联很方便,但不是什么地方都该用。

场景适不适合内联为什么替代方案
小图标 / Logo(< 4KB)非常适合省一个 HTTP 请求,页面秒开也可以做 SVG 雪碧图
邮件模板里的图片适合很多邮件客户端默认屏蔽外链图片,内联才能显示CID 附件(需服务端支持)
HTML 单文件交付 / 离线报告非常适合图片跟着 HTML 走,拷走就能看—
接口 JSON 里传图小图可以JSON 不能直接放二进制,只能编码传 URL 或 multipart 上传
大图 / 照片(> 100KB)不建议体积膨胀 33%,还会拖慢首屏渲染、无法缓存独立文件 + CDN + 缓存
需要被缓存的通用图片不建议内联图片随 HTML 一起下载,HTML 变了缓存就失效独立文件配 Cache-Control

🧠 体积与性能:先算一笔账

「大 33%」到底是什么意思?看这张表。

原图大小Base64 后(约 ×1.37)内联进 HTML 的代价建议
2 KB约 2.7 KB几乎无感,还省一次请求放心内联
20 KB约 27 KB可接受,图标/插画常用区间可以内联
100 KB约 137 KB明显拖慢首屏,且不可单独缓存建议独立文件
1 MB约 1.37 MB灾难级:HTML 体积暴涨,解析变慢必须独立文件

⚠️ 免责声明:Base64 编码会使数据体积增大约 33%(每 3 字节变成 4 个字符),大图不建议内联使用。
编码结果仅供参考,请在使用前确认目标平台支持 dataURL——部分老旧邮件客户端、IE8 及以下浏览器、以及个别 CMS 编辑器会过滤或截断过长的 dataURL(IE8 限制约 32KB)。
所有处理均在你的浏览器本地完成,图片不会上传到任何服务器,页面关闭后数据即清除。

🧬

图片转 Base64(在线生成 dataURL)

图片处理 完全免费 🌙 支持黑夜模式 🔒 纯前端,图片不上传 📋 三种输出格式 📦 支持批量

写邮件模板发现图片显示不出来、写单页 HTML 报告想把图一起打包、调接口要求把图片塞进 JSON、做小图标想省掉一次请求——这些场景的答案都是同一个:把图片变成一串 Base64 字符,直接写进代码里。
Base64 的原理其实很朴素:它用 64 个可打印字符(A-Z、a-z、0-9、+、/)来表示二进制数据,每 3 个字节的原始数据编成 4 个字符。代价也很直白:体积会变大约 33%(3 字节 → 4 字符),再加上 data:image/png;base64, 这个前缀,实际膨胀接近 37%。
什么情况下值得?
· 小图标、小 Logo(几 KB):内联进去省掉一次 HTTP 请求,页面打开更快,值;
· 邮件模板:很多邮件客户端(尤其企业邮箱)默认屏蔽外部图片,内联的才能显示出来,值;
· 单文件 HTML 交付:图片跟着 HTML 走,拷给别人、存到本地都能看,值;
· 接口传图:JSON 里放不了二进制,只能编码成字符串,小图没问题。
什么情况下别用?
· 大图和照片:体积暴涨,还会让 HTML/CSS 文件变得巨大,解析都要多花时间;
· 需要缓存的图:内联图片跟着宿主文件一起走,HTML 一变缓存就失效,而独立图片文件可以被浏览器长期缓存;
· 同一张图在多处复用:内联等于复制了好几份,越用越大。
这个工具给你三种最常用的输出形态,一键切换:
① 完整 dataURL:data:image/png;base64,iVBOR…,可以直接塞进 img 的 src、CSS 的 url()、或者直接粘到浏览器地址栏看效果;
② CSS 背景:background-image: url("…");,做背景图、图标最方便;
③ HTML 标签:<img src="…" alt="文件名">,直接插进网页就能显示。
页面上会告诉你原图多大、编码后多大、字符串有多长,还能一键复制,或者把每张图的编码单独下载成 txt 留着用。
使用上有两句提醒:大图(超过 100KB)请谨慎内联;另外IE8 及更老的浏览器对 dataURL 有 32KB 的长度限制,个别 CMS 编辑器也会截断超长字符串,用之前先试一下。
最后:全部在你的浏览器本地完成,图片不会传到任何服务器,处理完关掉页面就干净了。

类别图片处理 / 编码
输出格式dataURL / CSS / HTML
体积变化约 +33%
运行方式纯前端本地,不上传

核心特性

三种输出格式
一键复制
批量转换
体积对比
单独下载 txt
本地处理不上传

关于这个工具

怎么转:
① 用 FileReader.readAsDataURL 在本地把图片读成 dataURL(浏览器原生编码,不走网络);
② 从 dataURL 里解析出 MIME 类型(data:image/png;base64, 中的 image/png);
③ 按你选的输出格式包装字符串:dataURL 原样输出、CSS 包成 background-image: url("…");、HTML 包成 <img src="…" alt="文件名">;
④ 统计字符长度、原图字节数与编码后字节数(约 ×1.37),逐条展示,可单条复制或一次复制全部。
它不做:不压缩、不改尺寸、不换格式——想要更小的编码,请先用「图片压缩到指定 KB」压一道再来。

怎么用

  1. 第 1 步
    点击或拖拽选择图片(可多选)。
  2. 第 2 步
    选输出格式:dataURL / CSS 背景 / HTML 标签。
  3. 第 3 步
    点「🧬 开始转换」,看字符长度与体积变化。
  4. 第 4 步
    单条点「复制」拿走,或点「📋 复制全部结果」。
  5. 第 5 步
    需要留存就点每条的「下载 txt」,把编码存成文本文件。

更新记录

  • v1.0 2026-09-20 工具正式上线:支持把 PNG / JPG / GIF / WebP / SVG 转成 Base64 编码,提供 完整 dataURL / CSS url() 背景 / HTML img 标签 三种输出格式一键切换;支持批量转换、单条与全部复制、下载 txt,并展示原图与编码后的体积对比(约 +33%);附使用场景表与体积性能表。全程浏览器本地处理,图片不上传,适配黑夜模式。

常见问题

为什么编码后变大了?大概大多少?
这是 Base64 的固有代价:它把每 3 个字节的二进制数据编成 4 个可打印字符,所以数据量变成原来的 4/3 ≈ 1.333 倍,也就是大 33%;再加上 data:image/png;base64, 这段前缀(约 20~30 字节),整体膨胀接近 37%。
举例:一张 30KB 的 PNG,编码后大约 41KB。
所以通用经验是:几 KB 的小图标随便内联,超过 100KB 的图请老老实实用独立文件。
三种输出格式分别该用在什么地方?
· 完整 dataURL:最通用。可以塞进 <img src>、CSS 的 url()、接口的 JSON 字段,也可以直接粘到浏览器地址栏预览图片;
· CSS 背景:拿到就是一行 background-image: url("…");,做背景图、图标、按钮装饰最省事;
· HTML 标签:拿到就是完整的 <img src="…" alt="…">,直接插进网页或邮件模板即可显示。
三者内容完全一样,只是包装不同,随时切换不用重新转换。
邮件里用 Base64 图片会显示不出来吗?
恰恰相反:邮件里用内联 Base64 反而更容易显示,因为很多邮件客户端默认屏蔽外部图片链接(Outlook、企业邮箱尤其常见),而内联的 dataURL 是邮件正文的一部分,不走外链。
但有三个坑要注意:
① 部分客户端(如 Outlook 桌面版)对 dataURL 支持不完整,可能完全不显示,重要的邮件建议同时附带普通链接版本;
② 邮件正文有大小限制(常见几十 KB 到几百 KB),图太大可能被服务器退信;
③ 内联多张图会显著增大邮件体积,收件人加载变慢。
建议:邮件里的图先压缩到 20KB 以内再内联。
太长了,粘贴/保存的时候被截断了怎么办?
这是典型的平台长度限制,不是编码有问题。常见限制:
· IE8 及更早浏览器:dataURL 最长约 32KB,超了直接不显示;
· 部分 CMS / 富文本编辑器:保存时会截断超长字符串;
· 数据库字段:VARCHAR(255) 之类肯定放不下,得用 TEXT。
解决办法:
① 先压缩或缩小图片,把编码长度降下来(这是最有效的);
② 别内联,改用独立文件 + URL;
③ 存不进数据库就改用文件存储或对象存储,只存路径。
我的图片会被上传吗?
不会。编码过程用的是浏览器原生的 FileReader.readAsDataURL,图片始终在你自己的设备内存里,不会上传到任何服务器,关掉页面数据即清除。
所以用来处理身份证、合同、内部截图这类敏感图片也放心。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码