icns

Easily create .icns files (Mac Icons) with this Go library or the included CLI.
Log | Files | Refs | LICENSE

commit 358f79b8c0652ed11aa86f6cdb373dce582aa5f7
parent ee5210fbe0fcc1637ab5ce9c087daca7ceb1580d
Author: Jack Mordaunt <jackmordaunt.dev@gmail.com>
Date:   Fri, 18 Sep 2026 16:09:36 -0400

docs: say how far back decoding reaches

The readme still described the decoder as understanding four legacy elements,
which undersells it by two whole families and leaves a reader guessing what
happens when a file holds one icon at several depths.

Diffstat:
Mreadme.md | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/readme.md b/readme.md @@ -16,7 +16,7 @@ With this library you can use pure Go to create `icns` files from any source ima A small CLI app `icnsify` is provided allowing you to create icns files using this library from the command line. It supports piping, which is something `iconutil` does not do, making it substantially easier to wrap or chuck into a shell pipeline. -Note: `icns` files are written with an icon at every size macOS draws, the retina OSTypes for the larger ones and the colour and mask pair Apple still uses at 16 and 32 pixels. Decoding additionally understands the legacy `is32`, `il32`, `ih32` and `it32` elements, so icons written before macOS 10.5 read correctly. +Note: `icns` files are written with an icon at every size macOS draws, the retina OSTypes for the larger ones and the colour and mask pair Apple still uses at 16 and 32 pixels. Decoding reaches further back than writing does. Alongside PNG it understands the `is32`, `il32`, `ih32` and `it32` colour and mask elements, the `ARGB` sidebar and toolbar icons, and the 1-, 4- and 8-bit indexed icons of System 7 through Mac OS 8. Where a file holds the same icon at several depths, the richest is returned first. JPEG 2000 icons are identified but not decoded; `Entry.Payload` hands over their bytes. ## GUI