Format Support

Format Read Write Notes References
PNG yes yes Supported through version 1.2/ISO/IEC standard (15948:2003). Controlling the exact format when writing is incomplete. specwikipedia
GIF yes yes Both versions 87a and 89a Reading of animated GIFs is supported to the extent that you can read all of the images contained in a GIF, but timing/loop info is ignored. Controlling the exact format when writing is incomplete. specwikipedia
TIFF yes yes Supported through version 6.0. TIFFs is a open-ended container format, so it's not possible to support every possibly variation. JPEG-compressed TIFFs are not supported. Supports Bi-Level, Palette/Indexed, RGB, CMYK, YCbCr, CIELab and LOGLUV images. Supports LZW, CCITT/Huffman and Packbits/RLE compression. Notably missing other forms of compression, though, including CCITT 4 and 6 bilevel and JPEG. Supports Tiled images. AdobespecwikipediaAWare Systems TIFF Tag Reference
JPEG/JFIF no no Can read image info, metadata and extract ICC Profiles. Both JFIF and DCF/EXIF. JFIF specJPEG Groupwikipedia
JPEG/JFIF EXIF Metadata yes yes Can read and write EXIF data to and from exsiting JPEG/JFIF files WITHOUT modifying image data. Exif Specs, etc.wikipediaAWare Systems TIFF Tag Reference (JPEG EXIF metadata is stored in TIFF directories) Phil Harvey's exiftool and metadata referencePhil Harvey on writing EXIF
JPEG/JFIF IPTC Metadata yes soon Can read IPTC data from exsiting JPEG/JFIF files WITHOUT modifying image data. IPTC Specs, etc.wikipediaIEEE article
BMP yes yes Mostly Complete. May not read some cursors, icons and OS/2 bitmaps. Controlling the exact format when writing is incomplete. No spec, see: wikipedia
ico yes no Not complete. Can do simple reads. No spec, see: wikipedia
PNM/PGM/PBM/PPM Portable Pixmap yes yes Complete. No spec, see: wikipedia
PSD/Photoshop yes no Basic support. Can only read the first Layer. No support for extra channels. Supports all modes except Multichannel. Can read some image metadata. Unofficial specspecwikipedia
XMP yes yes Can read XMP XML (as as String) from TIFF, GIF, PNG, JPEG and PSD. Can embed XMP XML when writing GIF, PNG and TIFF. Can remove, insert and update XMP XML into existing JPEG files. Adobe site with Specwikipedia