ATSvg

网站 favicon 用 SVG 还是 PNG

承接搜索意图:具体需求

首页 › SVG 使用指南 › 网站 favicon 用 SVG 还是 PNG

结论先给:两个都放。现代浏览器支持 SVG favicon,但部分平台(某些移动端书签、分享卡片抓取、老邮件客户端)仍只认 PNG,用一份 32×32 的 PNG 兜底最省事。

本文目录

最小可用写法

在 head 里先声明 SVG,再给一份 PNG 兜底;浏览器会按支持情况选择。SVG 版建议把颜色写进文件、避免依赖外部 CSS,并确认 viewBox 是正方形,否则会被裁切。

<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png">
<link rel="apple-touch-icon" href="/apple-touch-icon.png">

SVG favicon 的三个注意点

① 文件独立加载,currentColor 与页面 CSS 变量都不生效,颜色要写死;② 图形在小尺寸下要极简,别用带细线或多色渐变的完整 Logo;③ 深色模式下标签栏背景会变,纯黑图形可能看不见,可给图形加一层浅色底板或选中间调。

PNG 兜底与缓存

favicon 常被浏览器长期缓存,改版后用户看不到新图标是常见现象。改文件名或加版本号比反复清缓存有效。另外确认服务器对 .svg 返回正确的 Content-Type(image/svg+xml),否则部分浏览器不会把它当图标。

多尺寸与品牌一致性

favicon 会出现在标签页、书签栏、历史记录、桌面快捷方式和分享卡片里,尺寸从 16px 到 180px 不等。不要指望同一份细节丰富的 Logo 在所有尺寸下都成立:16px 只保留最核心的轮廓,32px 可以多一点内部结构,180px 的 apple-touch-icon 才适合放完整版本。做法是准备两到三档简化版,而不是把一张大图等比缩小。另外,图标底色最好与站点主题色一致,但标签栏会随系统主题变深变浅,浅色图标在浅色标签栏上容易消失,给图形加一层细描边或中性底板更稳。

多站点 / 多品牌时的管理

如果同一套系统要服务多个品牌或子站,不要把 favicon 硬编码进模板。把图标路径做成配置项,按域名或站点标识取对应的文件,同时保留一份默认兜底。改动时只替换资源、不改模板,能避免某个子站忘了同步而一直显示旧标。另外记得给资源文件加版本参数或改文件名,否则浏览器会一直拿缓存里的旧图标。

常见问题

只放一个 SVG 行不行?大多数现代浏览器可以,但移动端书签、部分分享预览与老客户端仍可能取不到,建议保留 PNG 兜底。
改了 favicon 但浏览器没变?浏览器缓存很顽固,换文件名或带版本号,并确认 .svg 的 MIME 类型正确。

← 返回全部使用指南 · 许可与使用常见问题 →

相关素材 · 12 个素材

继续读

指南总览