libicns is a library for manipulation of the Mac OS icns resource format, also known as the IconFamily resource type. It can read and write files from the Mac OS X icns format, as well as read from Mac OS resource files and macbinary encoded Mac OS resource forks. As of release 0.5.9, it can fully read and write any 128x128 and all smaller 32-bit icons, and read support for 8-bit, 4-bit, and 1-bit icons. If linked against Jasper, it also has full support for 256x256 and 512x512 32-bit icons with masks as alpha channels.