Format For Os X Icons
On your Mac, copy the picture you want to use to the Clipboard. One way to do this is to open the picture in the Preview app, choose Edit Select All, then choose Edit Copy. Select the file or folder whose icon you want to replace, then choose File Get Info. At the top of the Info window, click the picture of the icon, then choose Edit Paste. OS X Yosemite Preview Iconset by johanchalibert (21 icons).
Filename extension | |
---|---|
Type code | icns |
Uniform Type Identifier (UTI) | com.apple.icns |
Developed by | Apple Inc. |
Type of 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 points at 1x and 2x scale, with both 1- and 8-bitalpha 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[edit]
The file format consists of an 8 byte header, followed by any number of icons.
Header[edit]
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[edit]
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 |
Mac Os Icons Download
Compression[edit]
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') and ARGB ('ic04', 'ic05') pixel data are often compressed (per channel) with a format similar to PackBits.[1]Some sources mentioned that the OS supports both compressed or uncompressed data chunks.
Format For Os X Icons For Windows
The following pseudocode decompresses the data:
Example: 02 01 02 02 80 03 81 04 82 05
should decompress to 01 02 02 03 03 03 04 04 04 04 05 05 05 05 05
Icon types[edit]
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 |
ic04 | varies | 16 | 16x16 ARGB | |
ic05 | varies | 32 | 32x32 ARGB | |
icsB | varies | 36 | 36x36 | |
icsb | varies | 18 | 18x18 |
- the values inside the brackets () in the length column is the uncompressed length.
- the ARGB format consists of the ascii values for 'ARGB' and the four compressed channels tightly packed
Other types[edit]
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 |
'name' | Unknown | |
'info' | 259 | Info binary plist. Usage unknown |
Support[edit]
Various image viewers can load *.icns files, and free and open source converters from or to PNG also exist.[2][3]GTK+ can load *.icns resources since 2007.[4] Other tools supporting the format include the Apple Icon Composer and icns Browser, The Iconfactory, and IconBuilder.
MacOS[clarification needed] offers the built-in iconutil
command line tool to pack and unpack *.icns files.
External links[edit]
- IconFamily – Open source Objective C class to read and write Apple icns files
- osxiconutils - Command line tools to work with Apple icns files
See also[edit]
- ICO format on Windows
- X PixMap format for X11
References[edit]
- ^Macintosh Icons
- ^'libicns'. SourceForge project icns. 2009. Retrieved August 18, 2016.
- ^'png2icns'. Moin Uddin. 2016. Retrieved May 25, 2017.
- ^Lyonel Vincent (2007). 'Mac OS X icons for GTK+'. Retrieved August 18, 2016.