Windows 图标 (.ico)

Microsoft 标准

Windows Icon 资源文件(ICO)是微软的多分辨率图标容器格式,被全球网络广泛采用作为网站浏览器标签的标准"favicon.ico"格式。

将 ICO 转换为 PNG

免费的浏览器端 ICO 转 PNG 转换器。在您的设备上即时转换文件。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 ICO 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 ICO 文件:

十六进制签名 (偏移量 0):

00 00 01 00

ASCII 表示形式: ....

标准化: Microsoft Windows Icon Resource Specification

技术规格

容器架构ICONDIR header with resource type 1 (Icon) followed by ICONDIRENTRY array and DIB/PNG streams
压缩方式Uncompressed DIB or PNG compressed streams (for 256x256 icons)
字节序Little-Endian (Intel x86)
色彩空间Device RGB, sRGB
通道与结构1-bit monochrome, 4-bit / 8-bit paletted, 24-bit RGB, or 32-bit RGBA with alpha
最大尺寸256 x 256 pixels (supports multi-resolution suites: 16x16, 32x32, 48x48, 64x64, 128x128, 256x256)
透明度XOR/AND binary transparency mask or full 8-bit smooth alpha channel
流式传输与渐进式加载Non-streamable icon directory container

技术对比矩阵:ICO 对比同类产品

技术属性ICO (当前)PNGSVGCUR
多分辨率存储一个文件中嵌入多种尺寸仅单张图像尺寸无限矢量缩放多种光标尺寸
Favicon 支持在所有传统和现代浏览器中 100% 通用现代浏览器支持现代浏览器支持无(仅限鼠标光标)
资源类型 ID0x0001 (Icon)标准图像文件W3C XML Vector0x0002 (Cursor with hotspot)
最大尺寸256 x 256 像素几乎无限制无限(矢量)256 x 256 像素

常见损坏模式与十六进制恢复指南

浏览器标签页显示空白的默认文档页面,而不是自定义网站图标。

根本原因: 网站图标缺少标准的 16x16 或 32x32 分辨率条目,或者包含损坏的 DIB 头。

恢复方法: 使用 File2File Favicon 发生器重新生成多分辨率 ICO 文件。

安全分析与解析器攻击向量

ICO 文件包含指定数据偏移量的目录表,必须对这些偏移量进行验证以防止缓冲区溢出漏洞。

已知攻击向量

  • 图像目录计数中的整数溢出,导致内存分配过小和堆缓冲区溢出。
  • 损坏的图像字节偏移指针,导致读取操作超出映射的文件内存范围。
  • 256x256 图标条目中嵌入的 PNG 解压炸弹。

防御性最佳实践:

历史渊源与里程碑

2006Windows Vista 引入了对 ICO 格式中嵌入的 PNG 压缩 256x256 图标的支持。
1999Internet Explorer 5 引入了"favicon.ico",使 ICO 成为浏览器标签页品牌标识的通用标准。
1985Windows 1.0 发布,原生支持用于桌面快捷方式图形的 .ICO 格式。

核心优势与特点

  • 在单个文件中封装多种图像分辨率(例如 16x16、32x32、48x48、256x256),以便在所有 DPI 缩放下清晰显示。
  • 与以往构建的所有网页浏览器和桌面操作系统实现通用的向后兼容性。
  • 在经典容器内支持现代的 256x256 高分辨率 PNG 压缩。

技术局限与劣势

  • 现代网页浏览器更喜欢标准的 SVG 和 PNG 网站图标,而不是传统的多元资源 ICO 容器。
  • 旧软件中的传统 1 位 XOR 透明度蒙版会产生锯齿状、像素化的边缘。
  • 固定的分辨率限制(每个图标帧最大 256x256 像素)。

趣味技术冷知识

  • 在早期 Windows 版本中,图标限制为 16 色的 32x32 像素。
  • 当 Internet Explorer 5 引入网站图标时,网站通过统计服务器日志中对"/favicon.ico"的请求,就能知道有多少人将他们的页面加入了书签。
  • ICO 文件中的 256x256 图标条目实际上包含一个以 8 字节 PNG 签名开头的完整、有效的 PNG 文件。

常见技术问题

为什么我的网站需要一个 favicon.ico?

即使您的 HTML 指定了 PNG 格式的网站图标,网页浏览器和搜索引擎爬虫默认情况下仍会请求“/favicon.ico”来显示标签页和书签图标。

ICO 文件中应该包含哪些分辨率?

专业的 ICO 文件应包含 16x16、32x32、48x48 和 256x256 像素版本,以便在所有显示器缩放比例和任务栏中都显得清晰锐利。

如何将 PNG 转换为 ICO 文件?

将您的 PNG 图像上传到 File2File.app,即可直接在网页浏览器中即时生成优化的多分辨率 ICO 文件。