Commons Imaging: a Pure-Java Image Library

Apache Commons Imaging, previously known as Apache Commons Sanselan, is a library that reads and writes a variety of image formats, including fast parsing of image info (size, color space, ICC profile, etc.) and metadata.

This library is pure Java. Compared to typical image I/O libraries in native code, it's more portable, and should be more reliable and more secure against corrupt/malicious images, yet still performs reasonably well. It's easier to use than ImageIO/JAI/java.awt.Toolkit (Sun/Java's image support), supports more formats (and supports them more correctly). It also provides easy access to metadata.

Imaging was working and was used by a number of projects in production even before version 1.0.

This project is Open Source; free as in freedom and free as in beer. It is available under the ASF (Apache) License. This is a non-viral Open Source license.


A getting started guide is available together with various project reports.

The JavaDoc API documents are available online:

The subversion repository can be browsed, or you can browse/contribute via GitHub.

Release Information

Latest Imaging Release

The latest stable release of Imaging is 1.0. You may:

Alternatively you can pull it from the central Maven repositories:


Latest Sanselan Release

The last stable release of Sanselan, before it was renamed to Imaging, was 0.97 You may:

Alternatively you can pull it from the central Maven repositories:


For information on previous releases see the Release History, and to download previous releases see the Commons Sanselan Archive.


The commons mailing lists act as the main support forum. The user list is suitable for most library usage queries. The dev list is intended for the development discussion. Please remember that the lists are shared between all commons components, so prefix your email by [imaging].

Bug reports and enhancements are also welcomed via the JIRA issue tracker. Please read the instructions carefully.