Main Page

From OpenImageIO Wiki

Jump to: navigation, search

If you are here, you are in the wrong place. Try our new home page.




OpenImageIO is a library for reading and writing images, and a bunch of related classes, utilities, and applications. Main features include:

  • Extremely simple but powerful ImageInput and ImageOutput APIs for reading and writing 2D images that is format agnostic -- that is, a "client app" doesn't need to know the details about any particular image file formats. Specific formats are implemented by DLL/DSO plugins.
  • Format plugins for TIFF, JPEG/JFIF, OpenEXR, PNG, HDR/RGBE, Targa, JPEG-2000, DPX, Cineon, FITS, BMP, ICO, RMan Zfile, Softimage PIC, DDS, SGI, PNM/PPM/PGM/PBM, Field3d. More coming! The plugins are really good at understanding all the strange corners of the image formats, and are very careful about preserving image metadata (including Exif, GPS, and IPTC data).
  • An ImageCache class that transparently manages a cache so that it can access truly vast amounts of image data (thousands of image files totaling hundreds of GB) very efficiently using only a tiny amount (tens of megabytes at most) of runtime memory. Additionally, a TextureSystem class provides filtered MIP-map texture lookups, atop the nice caching behavior of ImageCache.
  • Several image tools based on these classes, including iinfo (print detailed info about images), iconvert (convert among formats, data types, or modify metadata), idiff (compare images), igrep (search images for matching metadata). Because these tools are based on ImageInput/ImageOutput, they work with any image formats for which ImageIO plugins are available.
  • A really nice image viewer, iv, also based on OpenImageIO classes (and so will work with any formats for which plugins are available).
  • Supported on Linux, OS X, and Windows.
  • All available under the BSD license, so you may modify it and use it in both open source or proprietary apps.


Feb 2, 2011: We have moved our main code from SVN to git:

May 28, 2010: Release 0.8: We have branched oiio/branches/RB-0.8 and tagged oiio/tags/Release-0.8.0.


Documentation can be found here: OpenImageIO Documentation

Mail Lists

There are two mail lists associated with OpenImageIO:

For developers of the OpenImageIO code itself, or users who are really interested in the OIIO internals. This is where we discuss the code.
For users of the OIIO tools, APIs, or people integrating OpenImageIO into other applications or tools.
Obsolete. Instead, you should just "follow" the project on GitHub.

You can sign up for these mail lists on your own.

Downloading and building the code

Download a gzipped tar file of the source code:

At present, there is not a separate precompiled or binary-only distribution of OpenImageIO (though we hope to eventually have one). For now, you'll have to build the code yourself.

Read access to the main git repository is available for anybody. Commit access is restricted to senior developers. Though you are of course welcome to "fork" the repository to create your own work area on GitHub.

Please refer to Checking out and building OpenImageIO for details on how to check out and build OpenImageIO.

Please refer to Developing OIIO for various rules and procedures for developing OpenImageIO.

Bug/issue tracking

See for our bugs / issues / tasks / to-do list.

Apologies -- there's no graceful way to transfer our old trac tickets to GitHub (and the trac database was horribly broken anyway). So we will have to build up a new issues list.


For more information, contact Larry Gritz

Consult the User's Guide for information on using the wiki software.

Personal tools