EXR -- Extended Dynamic Range Image File Format

New in version 3.1.

Driver short name


Build dependencies


OpenEXR is a high dynamic range raster file format. The driver supports reading and writing images in that format.

Georeferencing is written as a WKT CRS string and a 3x3 geotransform matrix in EXR header metadata.

"Deep images" are not supported.

Creation Options

  • COMPRESS=[NONE/RLE/ZIPS/ZIP/PIZ/PXR24/B44/B44A/DWAA/DWAB]: Defaults to ZIP. Compression method. Details on the format Wikipedia page

  • PIXEL_TYPE=[HALF/FLOAT/UINT]: Pixel type used for encoding.

    • HALF corresponds to a IEEE-754 16-bit floating point value.

    • FLOAT corresponds to a IEEE-754 32-bit floating point value.

    • UINT corresponds to a 32-bit unsigned integer value.

    If not specified, the following GDAL data types will be mapped as following:

    • Byte ==> HALF

    • Int16 ==> HALF (potentially lossy)

    • UInt16 ==> HALF (potentially lossy)

    • Int32 ==> FLOAT (potentially lossy)

    • UInt32 ==> UINT

    • Float32 ==> FLOAT

    • Float64 ==> FLOAT (generally lossy)

  • TILED=[YES/NO]: Defaults to NO. By default tiled files will be created, unless this option is set to NO. In Create() mode, setting TILED=NO is not possible.

  • BLOCKXSIZE=<integer>: Defaults to 256. Sets tile width.

  • BLOCKYSIZE=<integer>: Defaults to 256. Sets tile height.

  • OVERVIEWS=[YES/NO]: Defaults to NO. Whether to create overviews. Only compatible with CreateCopy() mode.

  • OVERVIEW_RESAMPLING=[NEAR/AVERAGE/CUBIC/...]: Defaults to CUBIC. Resampling method to use for overview creation.

  • PREVIEW=[YES/NO]: Defaults to NO. Whether to create a preview. Only compatible with CreateCopy() mode, and with RGB(A) data of type Byte.

  • AUTO_RESCALE=[YES/NO]: Whether to rescale Byte RGB(A) values from 0-255 to the 0-1 range usually used in EXR ecosystem.

  • DWA_COMPRESSION_LEVEL=<integer>: DWA compression level. The higher, the more compressed the image will be (and the more artifacts). Defaults to 45 for OpenEXR 2.4

Driver capabilities

Supports CreateCopy()

This driver supports the GDALDriver::CreateCopy() operation

Supports Create()

With the caveat, that it is only for tiled data, and each tile must be written at most once, and written tiles cannot be read back before dataset closing.

Supports Georeferencing

This driver supports georeferencing

Supports VirtualIO

This driver supports virtual I/O operations (/vsimem/, etc.)