做图标时经常会遇到三个格式:ICO、ICNS 和 PNG。它们看起来都能表示图标,但用途并不一样。选错格式,轻则显示模糊,重则系统或浏览器不识别。
简单来说:ICO 更适合网站 favicon 和 Windows;ICNS 更适合 macOS 应用;PNG 更适合网页、PWA、移动端和作为图标源文件。
ICO、ICNS、PNG 快速对比
| 格式 | 主要用途 | 是否是容器 | 常见尺寸 |
|---|---|---|---|
| ICO | favicon、Windows 图标、快捷方式 | 是,可以包含多尺寸图标 | 16、24、32、48、64、128、256px |
| ICNS | macOS 应用图标、Finder 图标 | 是,可以包含多尺寸资源 | 16、32、64、128、256、512、1024px |
| PNG | 网页图标、PWA、移动端、图标源文件 | 不是,单个文件通常只有一个尺寸 | 32、64、180、192、512、1024px |
什么时候选择 ICO?
如果你要做网站 favicon,ICO 仍然是非常稳妥的选择。它兼容历史浏览器,也能在一个文件里放入多种尺寸。浏览器标签页、收藏夹、桌面快捷方式可能需要不同尺寸,ICO 容器可以让它们自动选择。
- 网站 favicon:推荐提供 favicon.ico。
- Windows 桌面图标:ICO 是原生常用格式。
- 快捷方式图标:ICO 可以适配多种显示尺寸。
- 需要兼容旧环境:ICO 的兼容性更稳。
什么时候选择 ICNS?
ICNS 是 macOS 图标容器格式,常用于 macOS 应用图标和 Finder 显示。它也可以包含多套尺寸,最高常见到 1024px,以适配 Retina 屏和不同 Finder 视图。
- macOS 应用图标:优先使用 ICNS。
- Finder 大图标预览:需要高分辨率资源。
- Electron 或桌面应用打包:macOS 平台通常需要 ICNS。
什么时候选择 PNG?
PNG 不是图标容器,但它清晰、无损、支持透明背景,所以非常适合作为网页图标、PWA 图标和图标制作的源文件。缺点是每个 PNG 通常只代表一个尺寸,你需要生成多张不同尺寸的 PNG。
- PWA manifest icons:常见 192x192 和 512x512 PNG。
- Apple Touch Icon:常见 180x180 PNG。
- 网页 UI 图标:PNG 适合需要位图透明效果的场景。
- 图标源文件:后续可以继续转换成 ICO 或 ICNS。
技术实现差异:它们到底哪里不一样?
ICO、ICNS 和 PNG 的最大区别不只是扩展名,而是文件结构。ICO 和 ICNS 是图标容器,PNG 是单张位图图片。
- ICO:文件头使用 little-endian 结构,包含 ICONDIR 和多个 ICONDIRENTRY,每个条目指向一张指定尺寸的图标数据。
- ICO 像素数据:小尺寸常使用 32 位 BGRA DIB 数据,256px 条目经常直接保存 PNG 字节。
- ICNS:文件以 icns 标识开头,使用 big-endian 长度字段,每个资源块有自己的类型,例如 icp4、icp5、icp6、ic07、ic08、ic09、ic10。
- ICNS 图像数据:现代 ICNS 常把不同尺寸的 PNG 数据放入对应资源块,适配 macOS 多尺寸显示。
- PNG:单文件只描述一张图片,包含 IHDR、IDAT、IEND 等块,支持无损压缩和 Alpha 透明,但不会自动包含多尺寸版本。
- 多尺寸 PNG ZIP:本质上是把 16、32、64、128、256、512、1024px 等 PNG 文件打包成 ZIP,方便网页或 PWA 按需引用。
不同场景怎么选?
| 场景 | 推荐格式 | 说明 |
|---|---|---|
| 网站 favicon | ICO + PNG | ICO 做兼容,PNG 补充现代浏览器和 Apple Touch Icon |
| Windows 桌面图标 | ICO | 系统原生支持,适合快捷方式和桌面图标 |
| macOS 应用图标 | ICNS | macOS 原生图标容器,支持高分辨率资源 |
| PWA 图标 | PNG ZIP | manifest 通常引用多张 PNG,例如 192px 和 512px |
| 设计源文件 | SVG 或高分辨率 PNG | 便于后续生成 ICO、ICNS 和 PNG 多尺寸资源 |
用 toolgarden.xyz 一次生成三类图标
ToolGarden 的图片转 Icon 工具会在浏览器本地把源图渲染成多种尺寸,然后根据你选择的格式打包:ICO 会生成 16 到 256px 图标条目,ICNS 会生成最高 1024px 的 macOS 图标资源,PNG ZIP 会生成一组独立 PNG 文件。
推荐输出组合
- 普通网站:生成 ICO,再额外保存 32x32 PNG 和 Apple Touch Icon。
- PWA:生成 PNG ZIP,挑选 192x192 和 512x512 写入 manifest。
- 跨平台桌面应用:Windows 使用 ICO,macOS 使用 ICNS。
- 品牌资源包:同时导出 ICO、ICNS 和 PNG ZIP,覆盖网站、桌面和移动端场景。
总结
ICO、ICNS、PNG 没有绝对谁更好,关键看使用场景。网站和 Windows 优先 ICO,macOS 应用优先 ICNS,网页、PWA 和设计源文件优先 PNG。
最省心的做法是从一张高质量源图出发,一次生成多种图标格式。这样网站、Windows、macOS 和 PWA 都能拿到合适的图标资源。