图片转Base64 在线图片转DataURL工具
在线图片转Base64工具:将JPG、PNG、WebP转为Base64 data URL,可直接用于HTML的<img>标签或CSS背景图,支持解码还原图片。
更新于 2026-08-16
相关工具
功能特性
- 将图片转换为Base64数据URI,支持JPG、PNG、WebP、GIF、SVG等格式
- 支持拖拽打开和点击选择文件
- 一键复制Base64字符串到剪贴板
- 将Base64数据保存为.txt文件
- 打开后自动预览图片
- 显示原始文件大小和Base64字符串长度
- 支持将Base64解码还原为可保存的图片
- 输入文件无文件大小限制
- 适合嵌入HTML的<img>标签、CSS background-url或JSON数据中
使用方法
- 1点击文件区域或拖拽图片文件到浏览器中。
- 2查看图片预览和文件信息(名称、大小、类型)。
- 3复制生成的Base64数据URI。
- 4粘贴到HTML中:<img src="data:image/png;base64,..." />
- 5在CSS中使用:background-image: url('data:image/png;base64,...');
- 6在JSON API中作为字符串传输图片数据。
- 7切换到解码模式,粘贴Base64字符串预览并保存还原的图片。
- 8每次转换即时完成,支持连续打开多张图片。
- 9点击保存按钮将Base64保存为.txt文件备用。
- 10如需缩短Base64字符串,可先使用图片压缩工具缩小尺寸。
常见问题
什么是Base64编码?
Base64是一种把二进制数据转为ASCII字符串的编码方式。图片转base64后可以直接嵌入HTML、CSS和JSON中,无需额外的文件请求。
如何在HTML中使用Base64嵌入图片?
将生成的data URI作为src属性:<img src="data:image/png;base64,你的Base64字符串" alt="描述" />。从此工具复制完整字符串粘贴即可。
Base64编码会增加文件体积吗?
是的,Base64编码会使文件体积增加约33%。建议仅对小图片(图标、Logo)使用Base64嵌入,此时省去HTTP请求的收益大于体积增加的开销。
支持哪些图片格式?
这个图片转base64工具支持所有常见格式:JPG、PNG、WebP、GIF、SVG、BMP、ICO、AVIF。输出的data URI会自动包含正确的MIME类型。
有文件大小限制吗?
没有限制。转换完全在浏览器中使用JavaScript的FileReader API完成。但超大文件会产生很长的Base64字符串,可能不适合直接嵌入。
能将Base64解码还原为图片吗?
可以。切换到解码模式,粘贴Base64 data URI即可预览图片并保存还原为原始格式。
Base64 编码的原理是什么?为什么字符串更长?
每 3 个字节(24 位)被拆成 4 组 6 位,每组映射到 64 个字符之一,所以体积变为原来的 4/3,大约多 33%。数据长度不是 3 的倍数时还会补上 = 填充符。因此 1MB 的图片转出来大约是 1.33MB 的字符串。
Base64 字符串和 Base64 URL 有什么区别?
真正能用的形式是 data URI:data:image/png;base64,<字符串>。大家说的「Base64 URL」通常就是指这个带 MIME 前缀的 data URI;只有原始字符串没有前缀,无法直接渲染。URL-safe Base64(用 - 和 _ 代替 + 和 /)是给查询参数用的另一套变体,不用于图片嵌入。
什么情况下用Base64而不是文件URL?
Base64适合小图片直接嵌入(图标、favicon、邮件签名)。大图片建议使用文件URL,避免HTML/CSS/JSON体积膨胀。
什么是data URI?
data URI是以'data:'开头的URL,包含MIME类型和Base64编码的数据。图片转成data URL后可以直接嵌入网页文档,无需外部资源请求。
能转换视频或音频到Base64吗?
本工具专为图片设计。如需对其他文件类型编码,请使用我们的Base64编解码工具,支持任意文本和二进制数据。
为什么我的 Base64 图片在 HTML 或 CSS 里显示不出来?
最常见的原因:字符串被截断(邮件客户端和部分编辑器会折行或截断长行)、data:image/...;base64, 前缀缺失或被换行拆开、或引号与属性引号冲突。把字符串粘贴回本工具的解码区验证完整性;如果能预览,说明数据完整,问题出在粘贴方式。在 HTML 中,整个 data URI 必须保持在一行内放在属性里。
SVG 文件有什么需要注意的问题吗?
有一个值得知道的点:SVG 本质是 XML 文本,浏览器通常更喜欢 URL 编码的 SVG data URI(data:image/svg+xml,... 用 %3C 表示 <),而不是 Base64 版本,因为某些环境会对 base64 载荷做额外解码。本工具输出的 Base64 版本在所有主流浏览器中都能用,但如果遇到边缘问题,改用 encodeURIComponent 编码 SVG;由于 SVG 文本用百分号编码压缩更好,生成的字符串通常也更短。
我把 Base64 字符串发给别人,对方为什么打不开图片?怎么发才对?
裸的 Base64 字符串不是图片文件,它只有在 data URI 里或经过解码后才能渲染。直接在聊天或邮件里发一串文本,对方拿到的是没法打开的文字。正确的分享方式:直接发图片文件本身;把 data URI 嵌进 HTML 页面或邮件(注意客户端可能截断长行);或把本工具「保存」按钮生成的 .txt 文件发给对方,并提示他粘贴到解码区还原图片。