ICO 是什么?一个文件里同时装着好几个图标

Images Nov 1, 2026 4 min read

你磁盘上其他每一种图片格式都只装一张图。ICO 装好几张——而搞懂为什么,就同时解释了这个格式是干嘛用的,以及它为什么在“Windows 图标”早就不是多数人关心的事之后,还长久留在网页开发里。

一个文件,好几张图

ICO 是一个容器。里面坐着好几张完整的图——通常是同一个图标分别画在 16、32、48 像素上,有时更多——各自独立存储,各有自己的像素数据。

当某个地方需要一个图标,它是从文件里挑一个最接近它需要的尺寸,而不是把一张图放大或缩小。

这个设计的存在,是因为一个硬限制:自动缩小会毁掉小图标。把一个细节丰富的 256 像素图标缩到 16 像素,你会得到一团灰色污迹——16 × 16 总共就 256 个像素,勉强够放一个认得出来的形状。要有一个看得清楚的 16 像素图标,唯一的办法是有人在 16 像素上把它画出来,决定哪些细节要舍弃、哪一笔承载了意义。

所以 ICO 其实不是图片格式。它是一种“把设计师对好几个尺寸所做的决定,一次打包送出”的方式。

网页为什么还在用它

ICO 来自 1985 年的 Windows 1.0,这让它还留在网页开发里看起来像个意外。倒也不完全是。

浏览器会自动向网站根目录索取 /favicon.ico,不管页面上有没有链到任何东西。那个行为远早于现代的 <link rel="icon"> 标签,而且从来没有被移除——因为移除它会弄坏数量庞大的旧网站。

实务上的后果:如果你的根目录没有 favicon,每一个访客的浏览器还是会去要一次,然后拿到 404。代价几乎为零,但那是一个永远不会成功的请求,而且永远都在。

该装哪些尺寸

这三个是经典组合,到现在仍然是一个 favicon ICO 该有的内容。现代图标有时会加上 64、128、256;在 ICO 里面,256 像素那一项通常是以 PNG 数据存储而不是原始像素——那正是让文件不至于变得巨大的原因。

照 16 像素设计

这是常见设计题里最小的一个,而且比听起来更极端。你有 256 个像素。不是宽 256——是总共 256。

撑得下来的:

撑不下来的:

常见的错误是把公司标志缩小。大多数标志是照“名片上读得到”的尺寸画的,到 16 像素就变成一团认不出来的东西。正确的做法是另外设计一个记号:去掉文字标的符号,或者一个字母,专门为这个尺寸做。

现代的 favicon 组合

光有 ICO 已经不是完整答案了,因为网站会被存到手机主屏幕、会在 Windows 从没想象过的场合显示。今天一套完整的通常是:

ICO 是地板,不是天花板。它处理的是“不管你有没有计划,它都会发生”的那个请求。

怎么做一个

把 PNG 转成 ICO 是正常的路径,但有一个值得坚持的区分。一个“拿一张图包起来”的转换会产生单一尺寸的 ICO——技术上合法,而且把这个格式唯一真正的优点丢掉了。

你要的是文件里有好几张图:一个 48、一个 32,以及一个你亲眼看过并调整过的 16。如果那个 16 是自动缩小出来的,接受它之前先用实际尺寸看一次。多数时候它需要手工简化。

从一张留有充裕边距的方形源开始——内容顶到边的图标,在任何尺寸下看起来都很挤。

ICO 不该用在哪

只有图标。它不是通用图片格式:没有网页该把 ICO 当内容显示、没有照片该存成它,而图标以外的任何用途都不会从它身上得到什么。如果你只是想要一张又小又锐利的图,PNG 就够了,不需要那个多尺寸容器。

速查

快速解决你的文件问题: 图片格式转换 立即免费使用 — 图片格式转换 →