跳到工具

图片转 Base64

在浏览器中把图片转成 Base64 data URI,一键复制 data URL、纯 Base64 或 HTML / CSS 引用片段,文件不会离开你的设备。

data URI 把整张图片装进一个字符串:以 data: 协议头开头,接着是 image/png 这类媒体类型与 ;base64 标记,逗号之后则是文件原始字节的 Base64 编码——一段任何浏览器都能直接还原成原图的文本。

结果是纯 ASCII 文本,可以放进任何接受文本的地方:HTML 的 src 属性、CSS 的 url()、JSON 载荷、Markdown 文档或邮件。是运送小 Logo、图标与装饰图的便捷方式,不必单独托管文件或配置 CDN。

便利有真实代价:Base64 用四个字符存三个字节,编码结果约比原文件大三分之一,且内联图片完全绕开浏览器缓存——每个嵌入它的页面都要重新传输。除小图外,可缓存 URL 背后的普通图片文件往往是更好的工程选择。

常见用途

常见问题

为什么转出来的 Base64 比原图还大?
Base64 把每三个输入字节映射成四个可打印字符,编码结果约比原文件大 33%,data: 头部还会再添几个字节。这份开销正是只建议内联小图的原因。
多大的图片适合内联?
经验法则是只内联 10 KB 以下的小图;文件超过 100 KB 时本页会给出提醒。更大的图片会撑大每一份嵌入它的文档,又无法利用浏览器缓存,更适合托管为普通文件。
SVG 也要转成 Base64 吗?
通常不必。SVG 本身就是文本,直接做百分号编码放进 data URI,结果往往比 Base64 更短且保持可读。只有当 SVG 内嵌了大段二进制内容(比如位图)时,Base64 才更划算。
data URI 和纯 Base64 输出有什么区别?
data URI 是可直接使用的完整字符串,包含 data: 协议头、MIME 类型、;base64 标记和负载;纯 Base64 只是其中的编码负载。HTML 和 CSS 里用完整 data URI;API 要求原始 Base64 图片数据时用后者。
我的图片会上传到服务器吗?
不会。转换通过浏览器的 FileReader API 在本地完成,像素尺寸用原生图片解码读取,文件始终不离开设备,未发布的稿件也能放心使用。

相关工具