OpenEXR¶

OpenEXR provides the specification and reference implementation of theEXR file format, the professional-grade image storage format of themotion picture industry.
The purpose of EXR format is to accurately and efficiently representhigh-dynamic-range scene-linear image data. This is a significant difference tomost image formats, which store images that are ready for display. Software thathandles OpenEXR images may need to process them differently to images in otherformats such as JPEG (seeScene-Linear Image Representation for more details). OpenEXR fileshave strong support for multi-part, multi-channel use cases, and extensiverepresentation of associated metadata.
OpenEXR is widely used in host application software where accuracy iscritical, such as photorealistic rendering, texture access, imagecompositing, deep compositing, and DI.
OpenEXR is a project of theAcademy Software Foundation.
Latest News¶

November 19, 2025 - OpenEXR 3.4.4 Released
Patch release with an optimization to reduce the size of the library.
B44 and DWA compression tables are now initialized at first use ratherthan being hard-coded in the source code and compiled binary. Thisreduces the library size at a slight performance cost. Initializationtakes under a millisecond, but the size of libOpenEXRCore.so isreduced from 890K to 360K.
This also fixes a build issue withILMTHREAD_THREADING_ENABLED whichinadvertently enabled threading when it should have been disabed.
This also fixes a bug where importing the python module from a parentdirectory would fail.
Imath¶
The OpenEXR project includesImath,a basic, light-weight, and efficient C++ representation of 2D and 3Dvectors and matrices and other simple but useful mathematical objects,functions, and data types common in computer graphics applications,including thehalf 16-bitfloating-point type.
Imath also includes optional python bindings for all types andfunctions, including optimized implementations of vector and matrixarrays.
Quick Start¶
You caninstall OpenEXR using package managers orbuild the library yourself from thesource on githubfollowing thecompile instructions
For a simple program that uses the C++ API to read and write a.exr file, see theHello, World examples.
Community¶
Ask a question:
Attend a meeting:
Technical Steering Committee meetings are open to thepublic, fortnightly on Thursdays, 1:30pm Pacific Time.
Calendar:https://zoom-lfx.platform.linuxfoundation.org/meetings/openexr
Meeting Notes:https://wiki.aswf.io/display/OEXR/TSC+Meetings
Report a bug:
Submit an Issue:https://github.com/AcademySoftwareFoundation/openexr/issues
Report a security vulnerability:
Emailsecurity@openexr.com
Contribute a Fix, Feature, or Improvement:
Read theContribution GuidelinesandCode of Conduct
Sign theContributor License Agreement
Submit a Pull Request:https://github.com/AcademySoftwareFoundation/openexr/pulls
Resources¶
Reference images:https://github.com/AcademySoftwareFoundation/openexr-images
Security policy:SECURITY.md
Release notes:CHANGES.md
Contributors:CONTRIBUTORS.md
Porting Guide:OpenEXR/Imath 2.x to 3.x Porting Guide
