ICO 格式从互联网早期就是标准的 Favicon 格式。虽然现代浏览器支持 PNG Favicon,但 ICO 仍然是最大兼容性的保障。以下是使用不同方法将 PNG 转换为 ICO 的教程。

为什么 2026 年 ICO 仍然重要

方法一:在线工具(最简单)

最简单的方法是使用 Mzu favicondl 的图片转 Favicon 工具:

  1. 进入工具页面。
  2. 上传你的 PNG 图片。
  3. 工具生成所有 Favicon 尺寸(ICO、16×16、32×32、180×180、192×192、512×512)。
  4. 下载完整的 ZIP 包。

额外福利:ZIP 包还包含 HTML 代码片段和 site.webmanifest 文件 — 添加 Favicon 到网站所需的一切。

方法二:使用 ImageMagick 命令行

对于喜欢终端的开发者,ImageMagick 是黄金标准:

# 安装 ImageMagick
# macOS: brew install imagemagick
# Ubuntu: sudo apt install imagemagick
# Windows: choco install imagemagick

# 转换 PNG 为 ICO(单尺寸)
magick convert input.png -resize 32x32 favicon.ico

# 创建多尺寸 ICO(推荐)
magick convert input.png -define icon:auto-resize=16,32,48 favicon.ico

多尺寸方式最好 — 浏览器会自动选择最合适的尺寸。

方法三:使用 FFmpeg

如果你已经安装了 FFmpeg:

ffmpeg -i input.png -vf scale=32:32 favicon.ico

方法四:Python 脚本

使用 Pillow 库:

from PIL import Image

img = Image.open('input.png')
img.save('favicon.ico', format='ICO',
         sizes=[(16, 16), (32, 32), (48, 48)])

PNG vs ICO:何时使用哪种

特性PNGICO
现代浏览器支持全部全部
旧版浏览器支持IE 11+所有 IE 版本
单文件多尺寸不支持支持
透明度支持支持
文件大小每个尺寸更小较大(多尺寸)
Windows 快捷方式不支持支持
浏览器自动检测仅在 HTML 声明时/favicon.ico 自动检测

最佳实践:两者都用

推荐的做法是同时提供两种格式:

<!-- ICO 作为兜底 -->
<link rel="icon" type="image/x-icon" href="/favicon.ico">

<!-- PNG 用于现代浏览器(更清晰的渲染) -->
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">

获得最佳效果的技巧