邮件插图内嵌
设计师小陈给客户发产品效果图邮件,对方邮箱始终拦截附件中的大图。他将 JPG 拖入本工具,勾选「dataURL」格式,复制生成的 Base64 字符串直接粘贴进邮件 HTML 源码的 `<img src>` 里。图片随正文一起到达,不再触发附件过滤,且收件人无需下载即可预览。
支持 PNG · JPG · WebP · GIF · SVG · ICO · 可多选批量
截图直接 CtrlV 粘贴 · 原始字节保真编码
设计师切图时,常被 background-image 的 Base64 字符串卡住——手动拼 data:image/ 前缀、补 MIME 类型、再包进 CSS 花括号,一步错就得重来。拖入图片,工具自动生成 dataURL、CSS 背景声明和 HTML <img> 三种格式的完整代码,直接粘贴进编辑器即可。整个转换在浏览器本地完成,图片不上传服务器,适合处理带敏感信息的 UI 截图。
设计师小陈给客户发产品效果图邮件,对方邮箱始终拦截附件中的大图。他将 JPG 拖入本工具,勾选「dataURL」格式,复制生成的 Base64 字符串直接粘贴进邮件 HTML 源码的 `<img src>` 里。图片随正文一起到达,不再触发附件过滤,且收件人无需下载即可预览。
前端阿强维护老项目,图标全用 CSS Sprite 定位,每次新增图标都要重算坐标。他把单张图标逐个转成 Base64,替换掉雪碧图的背景图引用,改写成 `background-image: url(data:image/png;base64,...)`。CSS 文件体积从 120KB 涨到 180KB,但彻底消灭了 HTTP 请求,且新增图标只需追加一行,无需再碰坐标表。
技术文档工程师小周编写内部操作手册,要求所有截图必须嵌入 Word 文档内,不能依赖外链。他用本工具将每张截图转为 Base64 字符串,插入 Word 的 HTML 视图或通过宏写入 `<img>` 标签。文档发给同事后,在任何离线环境打开都能正常渲染,不会出现红叉,且图片数据随 .docx 文件一起保存。
运营小吴想给粉丝群发自定义表情,但微信自定义表情只接受 100KB 以内的 PNG。他把一张 1.2MB 的 Gif 截图后,用本工具压缩并转成 Base64 格式,再粘贴到微信聊天框。微信自动识别为图片消息,实际大小仅 78KB,表情清晰度保留 90%,且无需上传到任何图床,直接发送。
求职者小林做个人作品集网页,希望所有资源(头像、作品截图)都打包在一个 HTML 文件里。他用本工具将每张图片转成 Base64,替换 `<img>` 的 src 属性为 dataURL。最终 HTML 文件 2.3MB,但只有一个文件,发送给 HR 时不会被邮件系统拆分,且在任何浏览器打开即用,无需额外下载图片。
1.生成的 dataURL 直接粘贴到 <img> 的 src 属性时漏了引号
<img src=data:image/png;base64,iVBORw0KGgo...><img src="data:image/png;base64,iVBORw0KGgo...">HTML 属性值必须用引号包裹,否则浏览器会将 dataURL 中的分号、冒号等字符解析为属性分隔符,导致图片加载失败。
2.CSS 背景图场景下误用 dataURL 格式而非 CSS 格式
background-image: data:image/png;base64,iVBOR...background-image: url("data:image/png;base64,iVBOR...")CSS 的 background-image 属性值必须用 url() 函数包裹,直接写 dataURL 会被视为无效属性值。
3.复制 Base64 字符串时多复制了换行符或空格
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...Base64 编码不含空白字符,多余的换行或空格会破坏编码完整性,导致浏览器解码失败。
4.将非图片文件(如 PDF、ZIP)拖入工具后直接使用生成的 dataURL
用工具生成 PDF 的 dataURL 后直接赋值给 <img src>确认工具输出的是 image/* 类型的 dataURL(如 data:image/png;...),否则应使用 <iframe> 或 <a> 下载dataURL 的 MIME 类型由文件本身决定,非图片 MIME 的 dataURL 无法被 <img> 渲染,浏览器会显示裂图。
5.生成的 Base64 字符串用于 URL 参数时未做 URL 编码
https://example.com/api?img=data:image/png;base64,iVBOR...https://example.com/api?img=data%3Aimage%2Fpng%3Bbase64%2CiVBOR...dataURL 中包含冒号、分号、斜杠等 URL 保留字符,直接拼接会导致参数解析错误,必须用 encodeURIComponent() 转义。
6.SVG 图片转 Base64 后丢失颜色或样式
将带外部 CSS 引用的 SVG 文件直接转 Base64将 SVG 中所有样式内联(如 <style> 标签或 style 属性),或使用不含外部资源的纯 SVGSVG 的 dataURL 是独立资源,无法加载外部 CSS、字体或图片文件,外部引用会被浏览器忽略,导致渲染异常。
Base64 编码长度 = ceil(原始字节数 / 3) × 4
原始字节数图片文件未编码前的字节大小Base64 编码长度编码后字符串的字符数(不含头)一张 3×3 像素的纯白 PNG 图片,文件大小 68 字节。编码后长度 = ceil(68 / 3) × 4 = ceil(22.666…) × 4 = 23 × 4 = 92 字符。加上 data:image/png;base64, 前缀后,完整 dataURL 共 92 + 22 = 114 字符。
最常见原因是格式前缀不匹配。CSS 的 background-image 属性需要完整的 data URL 格式,例如 `background-image: url("data:image/png;base64,iVBOR...")`。本工具默认输出纯 Base64 字符串,需要手动在「输出格式」下拉选「CSS 格式」,工具会自动补全 `data:image/...;base64,` 前缀和 url() 包裹。如果已经选了 CSS 格式还不行,检查 CSS 文件是否保存为 UTF-8 无 BOM 编码,以及引号是否被编辑器转义。
可以,但需要正确的格式。在 HTML 中,img 标签的 src 属性接受完整的 data URL:`<img src="data:image/png;base64,iVBOR...">`。本工具在「HTML 格式」输出模式下,会直接生成带 data URL 前缀的完整字符串,复制后粘贴到 src 属性值位置即可。注意:Base64 字符串通常很长,如果图片超过几百 KB,生成的字符串会让 HTML 文件体积剧增,影响页面加载速度,建议只对几十 KB 以内的小图标或小图使用。
这是 Base64 编码的原理决定的,不是工具的问题。Base64 用 64 个可打印字符表示二进制数据,每 3 个字节的原始数据会被编码成 4 个 Base64 字符,再加上换行符(可选)和 data URL 前缀,最终体积大约比原图大 33%–37%。例如一个 100 KB 的 PNG 图片,转成纯 Base64 字符串大约 136 KB,如果带上 data:image/png;base64, 前缀则更大。这个膨胀是固定的,与图片格式或本工具无关。
不会。本工具是纯前端实现(FE),所有图片处理都在浏览器本地完成。当你选择图片后,工具通过 FileReader API 读取图片文件的二进制内容,直接在内存中进行 Base64 编码,整个过程不经过任何后端服务器,也没有网络请求上传图片数据。关掉页面或清除浏览器缓存后,图片数据即被释放。如果需要绝对离线使用,可以访问一次页面后断网,工具仍然能正常工作(因为所有逻辑代码已加载到本地)。
本工具没有硬性限制,但受浏览器和可用内存的制约。理论上,只要浏览器能读取的文件都可以转,但实际中:图片文件超过 50 MB 时,浏览器读取和编码过程可能会卡顿甚至崩溃,因为 Base64 编码需要将整个文件读入内存并分配约 1.37 倍于原文件大小的字符串内存。建议日常使用控制在 10 MB 以内,超过 50 MB 的图片建议先压缩再转换,或改用后端工具处理。另外,某些移动端浏览器对超大 Base64 字符串的显示和复制支持较差。
本工具默认输出的 Base64 字符串每 76 个字符插入一个换行符(\n),这是遵循 RFC 2045(MIME)规范的做法,便于在邮件或某些旧协议中传输。如果需要在 CSS、HTML 或 JavaScript 代码中使用,换行符通常可以保留,因为大多数解析器会忽略空白。但如果需要严格的单行字符串(例如放在 URL 参数或 JSON 字段中),本工具在「输出格式」选择「纯字符串」模式时,会输出无换行的紧凑格式。如果当前输出有换行,请确认输出格式设置为「纯字符串」或「dataURL」而非「CSS」或「HTML」。
这是因为手机照片通常包含 EXIF 方向信息(例如旋转 90°),而 Base64 编码只处理像素数据,不处理 EXIF 元数据。本工具编码时读取的是图片的原始二进制内容,保留了 EXIF 信息,但大多数浏览器在显示 Base64 图片时不自动应用 EXIF 方向。解决方法:在转换前,先用图片编辑软件(或本工具所在网站的图片压缩/裁剪工具)将图片按正确方向重新保存,消除 EXIF 旋转标记,再进行 Base64 转换。或者,在 HTML 中引用图片时,通过 CSS 的 image-orientation: from-image 属性让浏览器读取 EXIF 方向。
区别主要在体积和用途。JPG 有损压缩,原图较小,转 Base64 后体积膨胀相对不明显,适合照片类大图。PNG 无损压缩,原图可能较大,转 Base64 后膨胀明显,适合需要透明背景的图标。GIF 支持动图,转 Base64 后动图特性保留,但文件通常较大,不推荐用于长动画。SVG 本身就是文本格式,转 Base64 后体积膨胀较少,但通常没必要——直接内联 SVG 代码更小且可维护。从划算角度:体积小(<10KB)且使用次数少的图片适合转 Base64 嵌入,减少 HTTP 请求;大图转 Base64 反而让页面变慢。
隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。