Library / package
License
Description
Freeware
Read Microsoft Windows ICO files. Supports the javax.imageio framework, but the library can also be used from older (pre 1.4) Java runtime environments.
Special license on the website.
Read PPM (Portable PixMap), write GIF and PPM.
Commercial
Various raster image file formats, including TIFF.
Apache Software License 1.1
The Batik toolkit also contains image I/O packages below the org.apache.batik.ext.awt.image.codec hierarchy. Read and write PNG and TIFF.
Free for personal use.
Read BMP files with 1, 8 or 24 bits, write BMP files with 24 bits. A demo viewer and documentation are included.
Unknown to me.
Read Windows BMP files. This one comes with a nice introduction one how to deal with images in Java.
None specified.
BMP loader, includes sample application.
None specified.
Javaworld.com tip 60. Write Windows BMP files.
Commercial
Supports MO:DCA (IOCA [CCITT G3,G4, G4-MMR & JPEG encoding] and PTOCA), AFP (LIST3820), TIFF (various compression types), ASCII, EBCDIC, BMP, GIF, JPEG.
Commercial, evaluation version available.
Read and write DICOM image files. Uses the ImageIO API which has been introduced with Java 1.4.
Commercial
Supports TIFF Group 4 decoding. Seems to be tested with all kinds of browsers on different platforms to be used in an applet.
Freeware
Read and write one image and animated GIF. Includes a high quality color quantizer (a port of NeuQuant to Java) to reduce truecolor to palette images. A class to read uncompressed and RLE-compressed PSD files (Photoshop) was recently added.
Free
Read RLE GIF files. RLE (runlength encoding) will result in larger files compared to standard LZW GIFs, but has not the patent problems of LZW. The corresponding encoder was never completed, and the author does not intend to do so in the future.
?
A GIF encoder, plus an implementation of an Octree color quantizer to reduce the number of colors, as GIF only supports up to 256 different colors in an image.
Commercial (PRO and LIGHT versions)
Read and write GIF files. Supports creation of animations including color image quantization, text rendering etc. Offers several image editing algorithms, adding comments and watermarking GIFs (watermarking here means adding images on top of other images, not adding information to identify stolen images).
Public Domain
Based on the ACME encoder, this package offers more features, including encoding of animated GIFs and textual comments. Source code included.
Apache License
Write one-image and animated GIF files. Supports transpareny. Comes with source code.
Free for non-commercial use.
Write GIF files.
IBM Internet License Agreement
See the Image Conversion section, it has code to read and write Windows BMP files.
Commercial
Supports reading and writing of JPEG, PNG, BMP, GIF and PCX as well as dithering (presumably in combination with color quantization).
LGPL
Read Windows icon files (.ico). To be used as part of the ImageIO framework, requires Java 1.4+.
LGPL
Write PNG, PICT, BMP, TIFF, TGA. Reads some of those as well. Class library and Java Beans. Seems to come with its own JPEG encoder, independent of IJG code.
Free for non-commercial use.
Read and write GIF, TIFF, JPEG. Read BMP, DICOM, FITS and PGM.
Commercial
Read and write various formats, including TIFF, BMP, MO:DCA, IOCA and CALS.
Free for non-commercial use.
Read BMP, TGA, TIFF, PNG, JNG, MNG, JPEG, CRW, PSD, GIF and MRW. Read thumbnails and metadata from those formats. Read thumbnails from THM. Read all embedded images from EPS files.
Freeware
[Page is gone; I'm trying to find the author] Saves an Image instance as a GIF file. No source code is provided.
?
Read and write PPM and Windows BMP files. Also can load GIF and JPG via Toolkit. Uses the Obrador codec to write JPEGs. Comes with source code.
Sun license.
An image processing toolkit; Sun also provides the source code for the 1.0 image codecs. There is a page dedicated to image I/O issues.
Sun license.
Reader-writer plug-ins for the 1.4+ javax.imageio package. Supported: BMP, JPEG, JPEG 2000, PNG, PNM, Raw, TIFF, and WBMP image formats.
LGPL
Image reading that is fast (using native code via JNI) and uses relatively little memory for GIF, JPEG, PNG (1.0), TIFF, TGA, BMP and XPM/XBM. Seems to work under Win32 only at the moment, but uses free, well-tested standard libraries like IJG, libtiff, libpng etc. which work under many platforms and are relatively easy to port to new ones.
LGPL
Read PNG (Portable Network Graphics) files.
Commercial library, 30 day trial version.
Read and write DICOM, the file format for medial images.
Sun Binary Code License Agreement
Sun development kit to read and write several formats, including GIF, JPEG, TIFF, PNG, PICT, PSD, BMP, TGA, ICO, CUR, RAS, XBM, XPM and PCX.
GPL
Java imaging library with support for PNG, GIF, IFF, RAS, PCD, PBM/PGM/PPM/PNM, PSD, TIFF (uncompressed, PackBits, Deflate, CCITT-1D, LogLuv).
?
An implementation of the JPEG 2000 image compression standard.
LGPL
A wrapper to the functionality of ImageMagick, a powerful free imaging library (supported formats). JNI is used to access native code (written in C).
Special license at the beginning of each source code file.
Read and write JPEG files.
Commercial (previously freeware)
Write JPEG files.
MIT License
Read various RAW formats of digital cameras like Nikon's NEF or CRW/CR2 with Canon. Pure Java code.
(L)GPL
Read TIFF (Tagged Image File Format) files. Some files of the toolkit seem to be under the GPL, others under the LGPL.
LGPL
Read and write DICOM, ECAT, GE, MINC, AFNI, ANALYZE, and NIFTI (medical image file formats).
Commercial
Read and write LuraTech's proprietary LWF format. Offers several types of compression, lossy and lossless, some of the wavelet-based. Java 1.1.7 or higher required. Trial version and applets available.
Commercial
Supports GIF, JPEG, PNG, BMP, TIFF, FlashPix (I.I.P.), and WinFax. Makes use of platform-specific hardware enhancements. Evaluation sample applets and beans are available.
Freeware
Read PCX files. Source code available with either English or German comments.
Unknown
Read and write PGM and PPM images, the page is in French, but the code has method names in English.
Public Domain
Read Macintosh PICT files (pixel and vector graphics parts are both supported)
Commercial, demo available
Supports TIFF (including G3 and G4), BMP, JBIG (for bilevel images), GIF and JPEG. It is not clear whether all formats will be read and written.
LGPL
Write PNG files (with up to 8 bits per channel). Support for an alpha channel is implemented.
Commercial
Read and write numerous image file formats, including TIFF, DICOM, MO:DCA, PCL, JBIG, JPEG and BMP. Also provides various image editing and processing operations.
?
Read RLE-compressed SGI RGB image files. Part of the City Scanning Project.
Read PNG, GIF, TIFF (LZW, CCITT/Huffman, Packbits), BMP, PSD, PBM/PGM/PPM/PNM.
LGPL
Read and write PNG (Portable Network Graphics) files.
Unknown to me (maybe same as Java).
Read and write JPEG files; classes included in Sun's JDK/JRE 1.2+, but not standard library classes, so you cannot rely on them being there with every Java VM! Documentation can be downloaded from Sun's website.
Commercial, trial version available
Read TIFF, BMP, GIF, JPG and PNG. Various TIFF compression types are supported, decoding is relatively fast. Also includes printing, viewing and image processing functionality. Available as application (or applet) or toolkit.
Commercial, demo version available
A TIFF decoder for compression methods Group 4, Group 3 (1-D and 2-D), TIFF Mode 2 and LZW.
?
Dynamic generation of WBMP graphs from XML data using JavaBeans and JSP. Includes sample code to write WBMP files.
Commercial
Library to write various wireless image file formats: (animated) WBMP, OTB, NLM.
Free for evaluation, nothing about licensing the code.
Write WBMP files. Also provides implementations of several algorithms for reducing images to black and white, plus a couple of image editing features (scaling, flipping, mirroring).