Image MIME Reference
ICO
Windows Icon (Legacy MIME)
image/x-icon
VS
Portable Anymap
image/x-portable-anymap
PNM
A complete technical comparison of Windows Icon (Legacy MIME) and Portable Anymap — covering compression, feature support, browser compatibility, magic bytes, and when to choose each format.
ICO wins on browser support
Feature Support
| Feature | ICO | PNM |
|---|---|---|
| Transparency (Alpha) | Yes | ✕ No |
| Animation Support | ✕ No | ✕ No |
| Progressive Loading | ✕ No | ✕ No |
| HDR Support | ✕ No | ✕ No |
| EXIF Metadata | ✕ No | ✕ No |
| ICC Color Profile | ✕ No | ✕ No |
Windows Icon (Legacy MIME)
image/x-icon
Extension
.ico
Container
ICO Directory Structure
Compression
Uncompressed (DIB/BMP) / Deflate (Embedded PNG)
Algorithm
NoneDeflate (via PNG)
Color Depth
1-bit, 4-bit, 8-bit, 24-bit (True Color), 32-bit (RGBA)
Developed by
Microsoft Corporation
Released
1985
Magic Bytes
00 00 01 00
Portable Anymap
image/x-portable-anymap
Extension
.pnm
Container
Netpbm
Compression
Uncompressed
Algorithm
None
Color Depth
1-bit (PBM), 8-bit to 16-bit (PGM), 24-bit to 48-bit (PPM)
Developed by
Jef Poskanzer (Netpbm Project)
Released
1988
Magic Bytes
50 31, 50 32, 50 33, 50 34, 50 35, or 50 36
Browser Support Comparison
| Browser | ICO | PNM |
|---|---|---|
|
|
✓ 1
|
✕ |
|
|
✓ 1
|
✕ |
|
|
✓ 1
|
✕ |
|
|
✓ 12
|
✕ |
|
|
✓
|
✕ |
ICO
ICO Strengths
- Universally supported by every web browser in existence for website favicons
- Packs multiple resolutions into a single file, eliminating the need to serve different files for the taskbar vs. the desktop
- Modern support for embedded PNGs (since Windows Vista) allows for excellent 32-bit transparency (alpha channels) and drastically reduced file sizes
Limitations
- Internal file structure is convoluted due to decades of legacy cruft, such as the requirement for BMP data to lack a standard file header but double the height property for an archaic XOR/AND mask
- Larger file size compared to a single optimized PNG or SVG, as it literally stores the same image multiple times at different scales
- The MIME type landscape is highly fragmented (x-icon vs. vnd.microsoft.icon), causing occasional caching or strict-MIME validation errors on restrictive servers
PNM
PNM Strengths
- Unparalleled simplicity: parsers and writers for PNM files can be written from scratch in C or Python in just a few minutes without relying on external libraries
- Serves as an excellent foundational teaching tool for computer science students learning about image arrays and raster graphics
- Flawlessly pipes through Unix command-line utilities for robust automated image processing (via the Netpbm suite)
Limitations
- Zero compression natively results in astronomical file sizes, making it entirely impractical for web delivery or consumer storage
- No support for standard metadata formats like EXIF, XMP, or ICC color profiles
- No native alpha channel support in the classic PNM specification (though the newer PAM format 'P7' addresses this)
When to choose which format
ICO
Use ICO when…
- Website Favicons (favicon.ico)
- Windows Application Executable Icons (.exe)
- Desktop Shortcut Icons
PNM
Use PNM when…
- Unix/Linux Command-Line Image Processing (Netpbm suite)
- Academic Computer Vision Research
- Intermediary Format for Image Format Conversion