跳到主要内容

Data URI 生成器

将任何上传的文件或粘贴的文本转换为具有所选MIME类型的data URI(data:<mime-type>;base64,<data>)— 包括原始尺寸与编码尺寸的字节大小统计,准备好在HTML、CSS或JSON中内联嵌入。

输入

Drop a file or browse
One file · any type

文件在本地读取 — 永远不会上传。

输出

Data URI
预览

对于图像MIME类型,此处会显示图像预览。

大小与类型
指标值
No data yet
这对您有帮助吗?

使用此工具的更多方式

嵌入式小组件

<iframe
  src="https://iotools.cloud/embed/data-uri-generator/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Data URI 生成器 — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

把它放到您自己的页面上——免费,无需密钥,只需保留一个反向链接。

也可通过

使用指南

Data URI(或data URL)将文件内容直接嵌入到字符串中 — data:<mime-type>;base64,<data> — 以便可以在任何需要普通URL的地方使用,无需单独的HTTP请求。此工具从上传的文件或粘贴的文本创建一个,并报告编码版本比原始版本大多少。

如何使用

  1. 选择来源:上传文件(任何文件类型 — 图像、字体、PDF、音频等)或输入文本(粘贴纯文本、HTML、CSS、JavaScript或SVG标记,并选择其MIME类型)。
  2. 对于文件上传,浏览器会自动从文件本身检测MIME类型。如果检测有误或您需要不同的类型,请勾选覆盖检测到的MIME类型并手动输入一个(例如 image/png、font/woff2)。
  3. 复制生成的Data URI — 准备好粘贴到 <img src>、CSS background-image: url(...)、JSON字段或 @font-face src中。
  4. 查看大小与类型表格,了解检测/选择的MIME类型、原始字节大小、编码data URI大小和百分比增加。
  5. 如果来源是图像,实时预览会显示在data URI下方,以便您可以在使用之前确认它解码正确。

一切都在您的浏览器中本地运行 — 上传的文件永远不会发送到服务器。

为什么data URI比原始文件大得多?

Base64编码将每3字节的二进制数据表示为4个ASCII字符,这本身就增加了大约33%的大小。此外,data:<mime-type>;base64,前缀增加了一个小的固定开销。对于短代码段,此开销可能占主导地位 — 编码13字节的"Hello, World!"会生成一个长度超过原始长度3倍的data URI — 但对于较大的文件,百分比增加会收敛到~33%的base64开销。

何时应使用data URI而不是常规文件?

Data URI对于小型的、经常重用的资源非常有用 — 图标、小背景图像、网络字体、小占位符图像 — 其中节省HTTP请求的好处超过了~33%的大小罚款,以及资源不再能独立缓存或在页面间共享的事实。对于任何大于几千字节的内容,或在许多页面中重用的资源,浏览器可以缓存的常规链接文件几乎总是更好的选择。

这适用于非英文文本或表情符号吗?

是的。粘贴的文本在Base64编码之前进行UTF-8编码,因此带重音的字符、CJK文本和表情符号都能正确往返。(一些较旧的工具使用btoa(unescape(encodeURIComponent(text)))技巧,这会误处理某些Unicode文本 — 此工具直接使用TextEncoder。)

我应该为粘贴的文本选择什么MIME类型?

匹配内容:纯文本使用text/plain,HTML片段使用text/html,样式表使用text/css,脚本使用text/javascript,SVG标记使用image/svg+xml(这也是SVG预览呈现的原因)。获得正确的MIME类型很重要,如果data URI被检查它的内容 — 例如,呈现<img>标签的浏览器需要image/*类型。

相关

要反向操作 — 将data URI或Base64字符串解码回纯文本 — 请使用Base64 Decode。对于SVG,SVG to Base64 Encode也会生成准备好粘贴的HTML <img>和CSS background-image代码片段以及data URI。

data-uridata-urlbase64encodemime-typefileembed

喜欢这些工具?去掉广告吧。

一次性付款即可永久移除您账户中的所有广告。无需订阅,不追踪。