Apple Icon Image format
Filename extension |
.icns |
---|---|
Internet media type | image/x-icns |
Type code | icns |
Uniform Type Identifier (UTI) | com.apple.icns |
Developed by | Apple Inc. |
Type of format | icon file format |
The Apple Icon Image format is the icon format used in Apple Inc.'s macOS. It supports icons of 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512, and 1024 × 1024 pixels, with both 1- and 8-bit alpha channels and multiple image states (example: open and closed folders). The fixed-size icons can be scaled by the operating system and displayed at any intermediate size.
File structure
The file format consists of an 8 byte header, followed by any number of icons.
Header
Offset | Size | Purpose |
---|---|---|
0 | 4 | Magic literal, must be "icns" (0x69, 0x63, 0x6e, 0x73) |
4 | 4 | Length of file, in bytes, msb first |
Icon data
Offset | Size | Purpose |
---|---|---|
0 | 4 | Icon type, see OSType below. |
4 | 4 | Length of data, in bytes (including type and length), msb first |
8 | Variable | Icon data |
Compression
lead value |
tail bytes |
result uncompressed |
---|---|---|
0…127 | 1…128 | 1…128 bytes |
128…255 | 1 byte | 3…130 copies |
Over time the format has been improved and there is support for compression of some parts of the pixel data. The 32-bit ("is32", "il32", "ih32","it32") pixel data is often compressed (per channel) with a format similar to PackBits.[1]
Some sources mentioned that the OS supports both compressed or uncompressed data chunks.
Icon types
OSType | Length (bytes) | Size (pixels) | Supported OS Version | Description |
---|---|---|---|---|
ICON | 128 | 32 | 1.0 | 32×32 1-bit mono icon |
ICN# | 256 | 32 | 6.0 | 32×32 1-bit mono icon with 1-bit mask |
icm# | 48 | 16 | 6.0 | 16×12 1 bit mono icon with 1-bit mask |
icm4 | 96 | 16 | 7.0 | 16×12 4 bit icon |
icm8 | 192 | 16 | 7.0 | 16×12 8 bit icon |
ics# | 64 (32 img + 32 mask) | 16 | 6.0 | 16×16 1-bit mask |
ics4 | 128 | 16 | 7.0 | 16×16 4-bit icon |
ics8 | 256 | 16 | 7.0 | 16x16 8 bit icon |
is32 | varies (768) | 16 | 8.5 | 16×16 24-bit icon |
s8mk | 256 | 16 | 8.5 | 16x16 8-bit mask |
icl4 | 512 | 32 | 7.0 | 32×32 4-bit icon |
icl8 | 1,024 | 32 | 7.0 | 32×32 8-bit icon |
il32 | varies (3,072) | 32 | 8.5 | 32x32 24-bit icon |
l8mk | 1,024 | 32 | 8.5 | 32×32 8-bit mask |
ich# | 288 | 48 | 8.5 | 48×48 1-bit mask |
ich4 | 1,152 | 48 | 8.5 | 48×48 4-bit icon |
ich8 | 2,304 | 48 | 8.5 | 48×48 8-bit icon |
ih32 | varies (6,912) | 48 | 8.5 | 48×48 24-bit icon |
h8mk | 2,304 | 48 | 8.5 | 48×48 8-bit mask |
it32 | varies (49,152) | 128 | 10.0 | 128×128 24-bit icon |
t8mk | 16,384 | 128 | 10.0 | 128×128 8-bit mask |
icp4 | varies | 16 | 10.7 | 16x16 icon in JPEG 2000 or PNG format |
icp5 | varies | 32 | 10.7 | 32x32 icon in JPEG 2000 or PNG format |
icp6 | varies | 64 | 10.7 | 64x64 icon in JPEG 2000 or PNG format |
ic07 | varies | 128 | 10.7 | 128x128 icon in JPEG 2000 or PNG format |
ic08 | varies | 256 | 10.5 | 256×256 icon in JPEG 2000 or PNG format |
ic09 | varies | 512 | 10.5 | 512×512 icon in JPEG 2000 or PNG format |
ic10 | varies | 1024 | 10.7 | 1024×1024 in 10.7 (or 512x512@2x "retina" in 10.8) icon in JPEG 2000 or PNG format |
ic11 | varies | 32 | 10.8 | 16x16@2x "retina" icon in JPEG 2000 or PNG format |
ic12 | varies | 64 | 10.8 | 32x32@2x "retina" icon in JPEG 2000 or PNG format |
ic13 | varies | 256 | 10.8 | 128x128@2x "retina" icon in JPEG 2000 or PNG format |
ic14 | varies | 512 | 10.8 | 256x256@2x "retina" icon in JPEG 2000 or PNG format |
- the values inside the brackets () in the length column is the uncompressed length.
Other types
OSType | Length (bytes) | Description |
---|---|---|
'TOC ' | varies | "Table of Contents" a list of all image types in the file, and their sizes (added in Mac OS X 10.7) |
'icnV' | 4 | 4-byte big endian float - equal to the bundle version number of Icon Composer.app that created to icon |
Support
Various image viewers can load *.icns files, a free and open source converter from or to PNG also exists.[2] GTK+ can load *.icns resources since 2007.[3] Other tools supporting the format include the Apple Icon Composer and icns Browser, The Iconfactory, and IconBuilder.
See also
- ICO format on Windows
- X PixMap format for X11
References
- ^ Macintosh Icons
- ^ "libicns". SourceForge project icns. 2009. Retrieved August 18, 2016.
- ^ Lyonel Vincent (2007). "Mac OS X icons for GTK+". Retrieved August 18, 2016.