What is ICO? Multi-Resolution Favicon Architecture and Windows Binary Packaging
Learn how the Windows ICO binary container works, why Google Search requires multi-resolution favicons, and how Squeeze packs 16px to 256px icons in-browser.
Zero-Upload Client Architecture Research
The ICO format is a binary container file structure created by Microsoft for Windows desktop icons and universally adopted by web browsers for site favicons. Unlike standard raster formats, a single .ico file stores a multi-resolution image directory containing multiple discrete bitmap or PNG frames (such as 16×16, 32×32, 48×48, and 256×256 pixels) allowing operating systems and browser tabs to select the exact pixel resolution without runtime scaling artifacts.
1. History of the Windows Icon Resource File
Introduced in Windows 1.0, the ICO format was engineered to solve a fundamental operating system challenge: desktop icons appear in varied contexts across a computer desktop. A file might show as a 16×16 icon in a detailed list view, a 32×32 icon on the desktop grid, or a 256×256 preview in modern File Explorer windows.
2. Inside the Binary Container: Header, Directory, and Bitmaps
- ICONDIR Header (6 bytes): Contains reserved bytes (0), resource type (1 for ICO, 2 for CUR cursor), and the count of contained image frames.
- ICONDIRENTRY Array (16 bytes per image): Declares width, height, color count, color planes, bit depth, byte size, and byte offset pointing to where that image's raw payload begins.
- Image Payloads: Historically raw DIB data; modern ICO files pack compressed PNG payloads for larger 256×256 frames.
3. How Squeeze Packs Compliant Multi-Resolution ICO Files In-Browser
Generating a binary container traditionally required specialized C++ utilities or server-side ImageMagick processes. Squeeze implements an in-browser binary packer using JavaScript ArrayBuffer and DataView:
- Your input image is rescaled to 16, 32, 48, and 256 pixel frames using HTML5 canvas bicubic filtering.
- Each frame's raw RGBA byte buffer is extracted and aligned.
- A compliant 6-byte
ICONDIRand 16-byteICONDIRENTRYtable are assembled with accurate binary offset addresses. - The complete buffer is output as a downloadable, multi-resolution
favicon.icoin milliseconds.
Generate Your Production Favicon Now
- Convert PNG to ICO with full multi-resolution packing.
- Convert SVG to ICO to turn your vector brand logo into a complete favicon suite.
- Convert JPG to ICO with zero server uploads and complete client privacy.
Authoritative References
Ready to convert or compress images with 100% privacy?
Experience zero server uploads. All WebP, PNG, JPG, SVG, and multi-resolution ICO conversions run entirely inside your browser using sandboxed Web Workers.