图片转 data URI / Base64
把图片转换成可直接用于 CSS 或 HTML 的 data URI,或把 data URI 还原成图片文件。
- 媒体类型
- 尺寸
- 文件大小
- data URI 大小
- 额外开销
- 媒体类型
- 尺寸
- 文件大小
把工具固定在这里,会保存在此浏览器中。
固定一个工具,它的贴纸就会出现在这里。
把图片转换成可直接用于 CSS 或 HTML 的 data URI,或把 data URI 还原成图片文件。
data URI 把文件直接放在地址里:data:image/png;base64,iVBORw0KGgo…。data: 后面是媒体类型,然后是可选的 ;base64 标记,说明内容的编码方式,最后在逗号之后是内容本身。凡是浏览器接受图片 URL 的地方,比如 HTML 中的 src 或 CSS 中的 url(),都接受 data URI,并且无需额外请求就能显示图片。这种格式由 RFC 2397 定义。
Base64 把每 3 个字节写成 4 个字符,所以编码后的图片比文件大约大 33%。内联图片还与包含它的文档绑定在一起:浏览器无法单独缓存它,每个重复使用它的页面或样式表都会再传输一次。
因此 data URI 适合少量小图片,比如一两 KB 的图标或占位图,不适合照片。结果超过约 10 KB 时,此工具会给出提醒。
SVG 文件是文本,所以可以以文本形式放进 data URI:data:image/svg+xml;charset=utf-8,…。只有部分字符需要百分号编码:会结束 URL 或其外层引号的字符,以及 URL 不能原样携带的字符。未转义的 # 在颜色值中很常见,它会开启 URL 片段,导致图片被截断。此工具会转义 %、#、<、>、"、&、反斜杠、空白字符和控制字符,并把 ASCII 以外的字符写成 UTF-8 转义序列。对结果解码会得到相同的 SVG 文本。只有文件是有效的 UTF-8 时才提供文本形式。
URL 编码形式仍然可读,而且因为它仍是纯文本,gzip 和 Brotli 通常能比 Base64 压缩得更好。压缩前哪种形式更短取决于文件,所以此工具会同时显示两者的大小。
图片由你的浏览器读取,并在你的设备上由 JavaScript 编码。反方向也一样:粘贴的 data URI 在页面中解码,然后以文件形式提供给你。图片和 data URI 都不会被上传。
不会。文件由你的浏览器读取和编码,此工具不会用它发出任何网络请求。你粘贴 data URI 把它还原成文件时也是如此。
Base64 用 4 个文本字符表示文件的每 3 个字节,因此大约多出 33%。前面的简短头部(如 data:image/png;base64,)还会再增加几个字节。
图片很小(几 KB 左右),并且页面一渲染就需要它,这时省掉一次请求比缓存更重要。较大的图片,以及被许多页面共用的图片,最好作为单独的文件提供。
能。在 CSS 中放进 url("…"),在 HTML 中放进 img 元素的 src 属性。如果网站发送了 Content-Security-Policy,策略必须在 img-src 或 default-src 中允许 data: 作为图片来源,图片才能显示。
它会在独立窗口中打开,离线时也能使用。
要安装,请点按“分享”按钮,然后选择“添加到主屏幕”。