上传文件
  1. base64hub
  2. 图片工具
  3. Favicon 转 data URI

Favicon 和 ICO 转 Base64

拖入 favicon.ico、PNG 或 SVG,把 data URI 粘贴到 <link rel="icon"> 中。适用于单文件页面、内部工具和动态生成的网站图标。

免费 无需注册,不限次数 本地 不上传任何内容 更新于 2026年10月27日
将图片拖到这里、粘贴或选择图片
输入 –输出 –大小 –

在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认

如何把 favicon 转为 Base64

  1. 把 favicon.ico、PNG 或 SVG 拖到框中,或用文件选择器选择。
  2. 如果是 PNG,把 最大宽度 设为 32(或 48),免得不小心内联了一个 512 像素的应用图标。ICO 和 SVG 文件按原样编码。
  3. 输出为 已设为 Data URI。复制后粘贴到 href 中:
<link rel="icon" type="image/png" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg...">

预览会显示图标及其像素尺寸,粘贴之前就能确认 PNG 是否真的是 32×32。

ICO、PNG 还是 SVG

格式MIME 类型Base64 开头说明
ICOimage/x-iconAAABAA一个文件可容纳多种尺寸,每一种都会被内联
PNGimage/pngiVBORw0KGgo每个文件一种尺寸,32×32 时很小
SVGimage/svg+xmlPHN2Zy可缩放到任意尺寸;Safari 从 26 版起才支持

favicon.ico 通常打包了 16×16、32×32 和 48×48 三种图像,它们全都会进入 Base64,所以字符串往往比预期长。对浏览器标签页来说,转换一张 32×32 的 PNG 通常就够了。

SVG favicon 可以在 SVG 内部用 prefers-color-scheme 媒体查询适配深色模式。如果要支持旧版 Safari,请保留一个 PNG 作为后备。

什么时候适合内联 favicon

  • 单文件 HTML:导出的报表、离线文档、保存为单个文件的仪表盘。文件一旦移动,相对路径 favicon.ico 就指向空处。
  • 内部工具和本地服务器,添加一条静态文件路由比写一行 HTML 麻烦得多。
  • 动态 favicon:在 canvas 上绘制通知角标或状态颜色,再通过 link.href = canvas.toDataURL("image/png") 应用。

普通网站更适合使用单独的图标文件。浏览器只需获取并缓存一次,而内联的 favicon 会在你提供的每个 HTML 页面中重复出现。

用 JavaScript 绘制 favicon

做状态指示器根本不需要文件。在 32×32 的 canvas 上绘制,再把 data URI 赋给现有的图标链接:

const canvas = document.createElement("canvas");
canvas.width = canvas.height = 32;
const ctx = canvas.getContext("2d");
ctx.fillStyle = "#e33";
ctx.beginPath();
ctx.arc(16, 16, 14, 0, Math.PI * 2);
ctx.fill();
document.querySelector('link[rel="icon"]').href = canvas.toDataURL("image/png");

图标没有变化时

  • 一直显示旧图标。 浏览器会强力缓存 favicon,而且与页面分开缓存。不使用缓存重新加载,或在隐私窗口中打开页面,就能看到新图标。
  • 什么都不显示。 检查 href 是否以正确的类型开头:data:image/png;base64,、data:image/x-icon;base64, 或 data:image/svg+xml;base64,。SVG 图标的根元素还必须带有 xmlns 属性。
  • 有多个 <link rel="icon"> 标签。 浏览器会按类型和尺寸从中挑选,所以内联图标可能输给另一个声明的图标。把不需要的删掉。

转换回文件

要从 data URI 还原出 favicon.ico,请使用 Base64 转 ICO。对于 SVG 图标,SVG 转 Data URI 还能生成 URL 编码的版本,往往比 Base64 更短。

常见问题

Favicon 可以用 Base64 data URI 吗?

可以。把 data URI 放进 <link rel="icon"> 的 href,例如 href="data:image/png;base64,iVBORw0KGgo..."。浏览器会像对待其他图标 URL 一样处理它。

Base64 的 ICO 应该用哪个 MIME 类型?

image/x-icon 用得最广;image/vnd.microsoft.icon 是正式注册的名称。浏览器两者都接受。本工具使用浏览器为该文件报告的类型。

所有浏览器都支持 SVG favicon 吗?

Chrome 和 Edge 从 80 版起支持,Firefox 从 41 版起,Safari 从 26 版起。如果还要兼容旧版 Safari,请在 SVG 图标旁再加一个 PNG 图标。

怎样阻止浏览器请求 /favicon.ico?

常用的技巧是空的 data URI:<link rel="icon" href="data:,">。这样页面就完全没有图标,测试页面和本地工具用起来很方便。