libopenraw is a desktop agnostic effort to support digital camera RAW files. It include libopenraw and exempi as the main components.

  • libopenraw, a library to parse digital camera RAW files.
  • Exempi, a library to parse XMP metadata.
  • RawThumbnailer a thumbnailer for Gnome Nautilus that use libopenraw.

libopenraw 0.3.0 is out

libopenraw 0.3.0 is out.

The key new feature of libopenraw 0.3.0 is the metadata extraction from the various formats, including non TIFF based Canon CR3.

Added a bunch more cameras, new an old, and even older.

Here is the list of changes:

New features:

Camera support:

  • Added Pentax K-7 (DNG), K5 II (DNG), star-ist DL2*, K110D*, K5 II*, K3*, K3 II*, K-S1*.

  • Added Leica Monochrom M Typ-246 (DNG), D-LUX 4*, Q2-Monochrom (DNG) and SL2-S (DNG).

  • Added XIAOYI YDXJ-2 and YIAC-3 (DNG).

  • Added Nikon Z5*, Z6 2* and Z7 2*.

  • Added Sony A7SIII*, A7C*.

  • Added Canon PowerShot S30*, S40*, S45*, S50*, S60*, S70*, S100V*, Pro70, EOS 850 D / Rebel T8i / KISS X10i*.

  • Added Hasselblad L1D-20c (DNG).

  • Added Panasonic S5*.

  • Added Zeiss ZX1 (DNG).

  • Added Fujifilm FinePix S100FS*, X-S10*.

  • Epson R-D1, R-D1s: extract the 640 pixel preview.

  • Panasonic: extract the Exif thumbnail, get bit per channel, CFA pattern.

  • Olympus, Nikon, Pentax: extract the MakerNote preview.

  • Pentax: Extract the active area and white level when available.

  • Sony: files properly identified. A390 treated as a A380.

  • Canon CRW: synthesize Exif metadata.


  • API: Added or_ifd_release(), or_ifd_get_name() and or_ifd_get_type().
  • API: The ORIfdDirRef returned by or_rawfile_get_ifd() must be released.
  • API: or_rawfile_get_ifd() support more IFD types.
  • API: or_ifd_index is replaced by or_ifd_dir_type. OR_IFD_MAKERNOTE is replaced by OR_IFD_MNOTE, OR_IFD_CFA is replaced by OR_IFD_RAW.
  • API: or_iterator*() to iterate through the metadata tags.
  • API: Added or_metavalue_get_count().
  • Fix getting MakerNotes for Pentax, Panasonic.
  • Get the Panasonic Exif thumbnail.
  • Added tool exifdump.

Internal Changes:

  • Use std::make_unique<>: requires C++14 to compile.
  • Added LOGASSERT().
  • Use model ID when available (Sony, Pentax) instead of strings.
  • Testsuite list the tests that are not run.
  • You can run any testsuite.

Bug fixes:

  • Panasonic: fix the active area, the bpc and the CFA pattern type.

See NEWS included in the tarball.


libopenraw 0.2.3 is out

libopenraw 0.2.3 is out.

Here are the changes:

Camera support:

  • Added Olympus E-M10MarkIV*.

  • Added Hasselblad Lunar* (rebadged Sony NEX-7).

  • Added iPhone 8, SE, XS.

  • Coefficients for Panasonic DC-G100, Sony ZV-1, Canon EOS R5 and EOS R6.

Bug fixes:

  • Fix preview for CR3 files.
  • Properly recognize Apple as make.
  • Fix an overflow in the ljpeg decompressor.

Internal Changes:

  • Added SR2 test case in the testsuite.

See NEWS included in the tarball.


libopenraw 0.2.2 is out

libopenraw 0.2.2 is out.

Here are the changes:

New features:

  • ordiag: Added a developer mode with -D.

Camera support:

  • Support for Canon EOS R5 and R6.
  • Support for Sony DSC-R1* (SR2).
  • Support for Nikon D6*.
  • Support for Panasonic DC-G100.
  • Support for Leica M10-R.
  • Support for GoPro HERO5, HERO6, HERO7 and HERO8 (GPR files, DNG based).
  • Added Sony SR2 file support.

Bug fixes:

  • Properly detect Canon Digital Rebel (aka 300D).
  • Better detect Minolta and Ricoh vendors.
  • Fix a crash in DNG on invalid files.

See RELEASE_NOTES and NEWS included in the tarball.


libopenraw 0.2.1 is out

libopenraw 0.2.1 is out.

Here are the changes:

  • Support for Nikon Coolpix P950
  • Support for Fujifilm F550EXR
  • Support for Sony ZV-1

Internal Changes:

  • Updated MP4 parser.

See RELEASE_NOTES and NEWS included in the tarball.


Exempi 2.5.2 is out

Exempi 2.5.2 is out.

Here are the changes:

  • Bug #18: Remove an unnecessary message to stdout in the exempi tool.
  • Bug #20: Test file formats. This also change the GIF sample to GIF89a.
  • Bug #17: make check should build more reliably now.
  • MR !1: Remove deprecated C++ to compile with C++17.
  • MR !2: Fix a build failure with C++17.

libopenraw 0.2.0 is out

libopenraw 0.2.0 is out.

Here are the changes:

  • Support parsing Canon CR3 and GoPro GPR
  • Many many camera added
  • New API to get vendor ID

See RELEASE_NOTES and NEWS included in the tarball. libopenraw now require Rust to compile the CR3 support.

exempi-rs 2.5.0 is out

exempi-rs 2.5.0 is out. exempi-rs are the Rust binding for Exempi 2.4. They have been uploaded to to be available with cargo. Here are the changes: DateTime now has standard derive Clone and Debug Fixed ffi struct. Now opaque. xmp_iterator_new() now take a const Xmp XmpIterator::next() outputs a PropFlags, not an IterFlags Xmp::set_array_item() was missing. Xmp is now Send. exempi::init() will run only once. Add exempi::force_init(). [Read More]

New website

Not exactly new hosting, but moved their hosting to a self hosted Gitlab instance. So we moved. And the website is now generated using Gitlab pages instead of the Wiki.

The project Gitlab page

If you want to contribute to this website, please submit a merge request for the repository

And you can subscribe to the RSS feed to get announcements.