Favicon 生成器 - 创建 favicon.ico 和 PWA 图标

将一张图片变成完整的 favicon 套装:一个包含多种尺寸的 favicon.ico、PNG 图标、苹果触控图标、Web 应用清单,以及可直接粘贴进页面 head 标签的 HTML。一切都在浏览器内完成。

此 Favicon 生成器会生成什么

很久以前,favicon 就不再是单个文件了。浏览器标签页需要 16 像素,视网膜屏标签页需要 32 像素,Windows 桌面快捷方式需要 48 像素,iPhone 主屏幕需要 180 像素的 PNG,可安装的 Web 应用则需要清单中声明的 192 和 512 像素的图标。此工具取一张源图,一次性输出所有文件:favicon.ico、favicon-16x16.png、favicon-32x32.png、apple-touch-icon.png、android-chrome-192x192.png、android-chrome-512x512.png 以及 site.webmanifest,连同那四行负责关联它们的 HTML,打包成一个 ZIP。其中的 .ico 文件是手动构建,而非转交转换器处理。ICO 是一种容器格式,而非编解码器:一个 6 字节的目录头记录了内含多少张图片,随后每张图片有一个 16 字节的条目记录其宽度、高度、字节长度和绝对偏移量,最后跟随图片载荷。目前所有浏览器都接受在载荷中使用 PNG 数据,因此本生成器写入的是 PNG,而非那种行序自下而上、带有独立 1 比特透明掩码的旧式 BMP/DIB 编码。ICO 内放置了三张图片——16、32 和 48 像素——以便 Windows 和旧版浏览器直接使用所需尺寸,而不必糟糕地缩放单张图片。如果你以后会查看文件的二进制内容,该格式有个特性值得一提:宽度和高度各占 1 个字节,因此 256 的数值被记为 0,且根本无法表达更大的尺寸。缩放质量同样得到了重视。通过一次 drawImage 直接将 1024 像素的徽标缩小到 16 像素,等于让浏览器的双线性滤镜用 2x2 采样点来概括 64x64 区域,丢弃了几乎所有原始像素,生成那种杂乱斑驳、为手搓 favicon 所知的标志性效果。本工具会反复对图像进行对半缩减,单步缩小比例从不超过一半,因此每次处理都能平均整个邻域,将精细细节一路保留至 16 像素。圆角半径和内边距也作为渲染的一部分同步应用,确保在所有尺寸下圆润边缘都具有抗锯齿效果。

为什么要生成一整套图标

只提供一个 32 像素 PNG 并宣称万事大吉会留下明显的缺口:固定标签页模糊不清、iPhone 上的图标带个黑框,以及因清单中无图标导致浏览器安装提示永远不出现。

一步到位覆盖所有平台——标签页、书签、Windows 快捷方式、iOS 主屏幕、Android 安装提示以及 PWA 启动画面
获得真正的、内含 16、32 和 48 像素图片的多分辨率 favicon.ico,而不是一个仅改名的、可能被某些工具拒绝的 PNG
避免 iOS 在透明苹果触控图标后面放置黑方形的问题,因为该文件会被铺平到你选择的底色上
复制可立即生效的 HTML 和有效的 site.webmanifest,无需四处搜索哪些 link 标签和清单字段仍合时宜

如何制作 Favicon

仅四个步骤,全都在你的浏览器本地运行。你的源图片绝不上传至任何服务器。

1

上传一张 PNG、JPG、WebP 或 SVG。方形源图效果最佳;非方形图片将以居中填充而非拉伸方式处理

2

为清单输入你的网站名称,选择透明或纯色背景,调整圆角半径和内边距,在此过程中标签页和主屏幕预览会同步更新

3

生成程序包——ICO 是逐字节组装而成,每个 PNG 都按最大锐度原则缩放至相应尺寸

4

下载 ZIP 文件,将其解压到你网站的公共根目录,然后将四个 link 标签粘贴到 HTML 的 head 标签内

常见问题

至少 512x512 像素,且尽可能为方形。512 是程序包中最大的图标尺寸,若源图更小,则必须放大,在 Android 安装屏幕和 PWA 启动画面上会显得模糊。非方形图片将被缩放至适应尺寸并居中,较短的边以透明色或纯色填充,绝不会拉伸。最理想的输入是 SVG,因为它先被光栅化为完全的工作分辨率,因此大尺寸图标的锐利度不存在上限。
因为不同平台请求不同尺寸,让各自去缩放单张图片远不如提供准确尺寸的效果好。16 像素用于标准浏览器标签页和书签栏,32 像素用于视网膜屏标签页和 Windows 任务栏,48 像素用于 Windows 桌面快捷方式。ICO 目录结构让操作系统可挑选精确匹配的版本,而非重新采样。特意排除了 48px 以上的尺寸——任何需要更大图标的平台都会去读取 PNG 或清单图标,在 .ico 里加入 256px 图像只会徒增文件体积,毫无益处。
因为 iOS 不遵从 apple-touch-icon.png 中的 alpha 通道。它不会将图标合成到壁纸之上,而是会将透明像素填为黑色,把一个好好的透明徽标变成主屏幕上的一个黑方块。本生成器仅将该文件单独铺平到一个不透明色之上——默认是白色,或你挑选的任意颜色——来规避此问题。其他所有输出均保持透明,因此你的浏览器标签页图标仍能融入浅色和深色主题。
部分需要。即使完全没有任何 HTML,浏览器也会自动从你网站根目录请求 /favicon.ico,所以那个文件的确不言自明。但其他图标不会。PNG 的 link 标签让现代浏览器无需解码 ICO 就能选取清晰尺寸,apple-touch-icon 标签是 iOS 找到主屏幕图标的方式,而清单链接是让 Chrome 和 Edge 将你网站视为可安装应用的关键。粘贴全部四行代码即可覆盖全平台。
它是一个将网站变为可安装应用的 JSON 文件。它包含你的网站名称、主屏幕图标下显示的短名称、图标列表及其尺寸、浏览器界面的主题色、启动画面的背景色以及显示模式。缺少该文件,Chrome 和 Edge 便不会弹出安装提示。生成的文件使用独立式显示模式(standalone),其颜色取自你选择的背景;你可以自由地后续编辑,以添加 start_url、scope 或 orientation。
16 像素大约跟一个字符差不多大,在 512 像素下清晰可辨的细节在此已无处安放。本工具已尽最大努力进行重采样——反复对半缩放,确保无一步骤丢失超过四分之三的信息——但真正的解决方案在于设计,而非缩放。细线轮廓、渐变、小字以及任何包含两个以上复杂形状的图案都无法存活。如果你的完整徽标很复杂,可从中截取一个字母或最独特的标志,并增加 10% 到 15% 的内边距,以免其触及边缘。
可以,而且通常效果最佳。有一点需留意:仅带有 viewBox 的 SVG 没有固有的像素尺寸,浏览器默认按 300 x 150 对其光栅化,这会在任何缩放发生前就毁掉画质。本工具会读取 viewBox,并在光栅化之前重写明确尺寸,因此工作副本会从完全分辨率起步。引用外部字体或远程图像的 SVG 将丢失那些部分,因为不会去文件外获取任何资源——应事先将文字转为路径。
将所有文件解压到网站的公共根目录下——即你域名顶层所服务的目录,在 Next.js 和 Vite 中是 public/、在 Hugo 和 SvelteKit 中是 static/,对于普通静态托管服务器则是 web 根目录。HTML 片段中的路径都以斜杠开头,因此无需编辑即可在那里正确解析。全过程无任何上传动作:你的图片解码、尺寸调整、编码和打包全部在你浏览器内完成,因此未发布的品牌素材绝不会离开你的设备。

更多图片工具

探索其他强大的图片编辑工具