- AC.lib-ICO

Java library for ICO files © 2003-2009 Christian Treber

News: AC.lib-ICO
What it Does
What it Needs
What it Costs
Get It!
FAQ Logo
News: AC.lib-ICO
  • March 2009: AC.lib-ICO 3.0 to be released "soon"
  • March 6th 2006: AC.lib-ICO 2.1 released
    • Fixed problem with inconsistent meta data/image data (thanks to Eric Lambrecht for the fix)
    • Fixed problem with incorrect calculation of bytes per scan line (thanks to Arne Schuldt for ICO file sample)
  • March 30th 2003: AC.lib-ICO 1.0 released

What It Does


  • reads images in Microsoft ICO file format (i.e., "favicon.ico") from URLs, files, streams, and buffers (byte arrays)
  • allows access to any of the multiple icons contained in the ICO file
  • extends the Java ImageIO API to read ICO files (acting as a service provider)
  • provides a stand alone library to access internal structures and information, and convert ICO icons into Java images
  • contains a demo application that selects ICO files via a JFileChooser with a preview pane and displays all contained images

Only uncompressed ICO files with 1, 4, 8, 24, and 32 BPP can be read. Support for writing ICO files is not planned (no patent issues; I just don't feel like doing that :-)). Send me a 16 BPP ICO file, and I might add support for that.

What It Needs

Java AC.lib-ICO runs on any platform (Windows, Linux, Apple, any!) because it is written in Java. Java usually will be allready installed on your system. In the case it is not (shame on the manufacturer!), the Java Run Time Environment (JRE version 1.4 or higher) can be downloaded from Sun. Just select the JRE for your operating system. It's not too big, and it's well worth the effort ;-).

What It Costs

AC.lib-ICO is open source (GPL), so it costs nothing. Commercial licenses are available on request (in example, for commercial closed source uses).

AC.lib-ICO has been commercially licensed by (excerpt):

Get It!

AC.lib-ICO is available as a zipped package from SourceForge.

FAQ - Frequently Asked Questions

None so far. You've got one? Email me!