OpenEXRยถ
OpenEXR provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.
The purpose of EXR format is to accurately and efficiently represent high-dynamic-range scene-linear image data. This is a significant difference to most image formats, which store images that are ready for display. Software that handles OpenEXR images may need to process them differently to images in other formats such as JPEG (see Scene-Linear Image Representation for more details). OpenEXR files have strong support for multi-part, multi-channel use cases, and extensive representation of associated metadata.
OpenEXR is widely used in host application software where accuracy is critical, such as photorealistic rendering, texture access, image compositing, deep compositing, and DI.
OpenEXR is a project of the Academy Software Foundation.
Latest Newsยถ
March 1, 2026 - OpenEXR 3.4.6 Released
Patch release with several bug fixes, enhancements, and build improvements.
๐ A limit of
UINT_MAXdeep samples per pixel is now enforced, which prevents an integer overflow when using theCompositeDeepScanLineAPI to combine multiple deep parts.๐
IlmThreadnow builds properl with glibc 2.43.๐ง In
IlmThreadPool, replace deprecatedstd::atomic_load / std::atomic_exchangeoverloads forstd::shared_ptrwith the C++20std::atomic<std::shared_ptr<T>>interface when available.๐ The
ZIPandZIPSCompressor objects had incorrect compression types set, although the ill effects were miminal as the value is seldom used.๐ Enable SSE2 on 32-bit x86 builds to fix test failures
Build improvements:
๐ ๏ธ OpenEXR now ships with an internal โvendoredโ copy of the
OpenJPHlibrary. At configuration time, if CMake finds an external installation ofOpenJPH, it will use it, but if that fails, or the CMake configuration optionOPENEXR_FORCE_INTERNAL_OPENJPHis set, it will use the internal copy. For OpenEXR v3.4.6, the vendored version of OpenJPH is 0.26.3.๐ ๏ธ A new CMake build option
DOPENEXR_FORCE_EMBEDDED_COREbuilds theOpenEXRCorelibrary statically and links it into theOpenEXRlibrary with symbols hidden, making it possible to link multiple versions of OpenEXR into the same executable. TheOpenEXRlibrary has namespaces for this situation, but theOpenEXRCorelibrary is written in C with no configurable namespace. See Linking Multiple OpenEXR Versions in the Same Executable for details.๐ ๏ธ Fix build failure with
-march=sandybridgePython:
๐ โจ Add python support for Opaque Attributes
๐ Python module I/O operations now release the GIL, preventing blocking.
Tools:
โจ Add sanity check for correct arguments to exrstdattr, to catch mistakes such as
exrstdattr input.exr output.exr -comment hellowhich would formerly write to a file calledhellobut now fails with a usage error.Also, this release bumps the vendered version of
libdeflateto 1.25.
Imathยถ
The OpenEXR project includes Imath, a basic, light-weight, and efficient C++ representation of 2D and 3D vectors and matrices and other simple but useful mathematical objects, functions, and data types common in computer graphics applications, including the half 16-bit floating-point type.
Imath also includes optional python bindings for all types and functions, including optimized implementations of vector and matrix arrays.
Quick Startยถ
You can install OpenEXR using package managers or build the library yourself from the source on github following the compile instructions
For a simple program that uses the C++ API to read and write a .exr file, see the
Hello, World examples.
Communityยถ
Ask a question:
Email: openexr-dev@lists.aswf.io
Slack: academysoftwarefdn#openexr
Attend a meeting:
Technical Steering Committee meetings are open to the public, 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:
Email security@openexr.com
Contribute a Fix, Feature, or Improvement:
Read the Contribution Guidelines and Code of Conduct
Sign the Contributor 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