Image metadata library and tools

What's new

02-Dec-2013 Exiv2 0.24 released
Exiv2 introduces its first support for Video metadata. Many more cameras and accessories are now recognised. Numerous bugs fixes, build and test improvments. More details: ChangeLog.
02-Dec-2013 GIMP meets (g)exiv2
Improved support for Exif, XMP, and IPTC along with a viewer/editor will be part of GIMP 2.10. GIMP has adopted gexiv2, and therefore Exiv2, for their photo metadata needs. Yay!
23-Apr-2012 Exiv2 0.23 released
Exiv2 can now finally write metadata to Canon CR2 images. Besides, this release adds support for Pentax makernotes in Pentax native DNG images, updates various lens lists and contains the usual new minor features and bugfixes, which are all detailed in the ChangeLog.
18-Sep-2011 Exiv2 0.22 released
This release adds support to access previews and read and write XMP metadata in Postscript images. It also introduces a new MSVC project for 64 bit builds as well as many smaller features and bugfixes, all of which are listed in the ChangeLog as usual.
14-Feb-2011 Exiv2 0.21.1 released
This release fixes several bugs that were present in 0.21 and is binary compatible with the previous version. As usual, the ChangeLog lists all changes in detail.
01-Dec-2010 Exiv2 0.21 released
This release adds read and write support for Samsung SRW images and Samsung makernotes. The exiv2 library now accepts a custom error handler and has a setting to control which messages are generated. The exiv2 command line tool has a new 'quiet' option which uses the new functionality to suppress all library warnings. Some important API changes will allow many future image format and makernote enhancements to be done in a binary compatible fashion. The new exiv2.hpp umbrella header file further shields applications from library changes. The ChangeLog lists these and various smaller enhancements, bug fixes and tag updates in detail.
30-May-2010 Exiv2 0.20 released
This release includes Sony, Nikon and Pentax makernote updates and a significant performance improvement for Nikon makernotes. Writing to Minolta raw images (ORF) is now supported. Several TIFF tags and the XMP KDE Image Program Interface (kipi) schema, iView Media Pro schema and Microsoft Expression Media schema have been added. See the ChangeLog for a complete list of all enhancements and bugfixes in this release.
30-Dec-2009 Exiv2 0.19 released
This release has a dramatically reduced memory footprint when writing to TIFF and TIFF-based images as the images are no longer completely loaded into memory. In addition it improves performance of read operations for such files by about a factor six on Windows. It also provides extended Nikon makernote support. Exiv2 is now able to read and write many additional Nikon makernote tags, including encrypted tags. The XMP toolkit used by Exiv2 has been upgraded to the latest available version, iptc4xmpExt and plus XMP schemas have been added and several XMP conversion issues fixed. The ChangeLog lists all these enhancements and various other features and bugs that have been addressed for this release.
24-Jun-2009 Exiv2 0.18.2 released
This release fixes several important issues found with PNG write-support, writing to certain NEF images and writing comments to JPG images, among others. It also contains minor Nikon and Minolta lens updates and updates Polish translations. The ChangeLog has the complete list of changes, as usual.
06-Apr-2009 Exiv2 0.18.1 released
This release adds write-support for Adobe Photoshop PSD images, read-support for Panasonic RW2 images, Panasonic and Nikon makernote updates, and a number of improvements under the hood and bug fixes, detailed in the ChangeLog. It also includes a new utility, organize, contributed by Brad Schick.
08-Jan-2009 Community website
Brad has migrated the Mantis issue tracker and the commit info list to a Redmine installation. This also includes a new forum, which replaces the Exiv2 Yahoo! group, and a new Exiv2 Wiki, all integrated, with a common look-and-feel and a single sign-on. From the main website, these project resources are accessible through the Project link in the sidebar.
Thanks to Brad Schick for this latest innovation as well as his reliable sysadmin services and sponsorship since the early days of the project!
18-Dec-2008 Exiv2 0.18 released
Here is the final 0.18 release with write-support for TIFF, DNG, NEF, PEF, PNG and JP2 images, makernote updates and access to image previews. On Windows, Exiv2 can now be built as a DLL.
In addition to the changes in the 0.18 pre-releases, the Exiv2 command line utility has new options to show all (Exif, IPTC and XMP) metadata and to list and extract preview images, while the library enhancements are mostly bug fixes and minor features. See the ChangeLog for details.
04-Nov-2008 Exiv2 0.18-pre2
With this pre-release it is now possible to build an Exiv2 Windows DLL.
A new API was added to access image previews of any image. In addition to Exif thumbnails this allows retrieving various other previews from RAW images and Exif MakerNotes through a common interface.
Another backward-compatible API change allows advanced Exif pretty-printing functions to refer to all Exif tags.
Further Exif improvements and fixes are detailed in the ChangeLog.
Again, please use this pre-release to test with backups of your images and to adapt applications to the modified interface, and raise issues in the forum. Your feedback is important to finalizing release 0.18.
11-Sep-2008 Exiv2 0.18-pre1
This pre-release adds write-support for TIFF, DNG, NEF, PEF, PNG and JP2 images and provides the basis for write-support for other TIFF-like RAW formats.
The library's API was streamlined and internal symbols removed from the ABI. The benefits of this change are manifold. In particular, the reduced API is easier to work with and will ultimately be more stable.
Under the hood, the TIFF parser code was consolidated: JPEG images now also use the new TIFF parser to read and write Exif metadata and the old obsolete code was removed.
See the ChangeLog for a complete list of changes and links to even more details.
Please use this pre-release to test with backups of your images and to adapt applications to the modified interface, and raise issues in the forum. This feedback is key to finalizing release 0.18.
19-Jun-2008 Exiv2 0.17.1 released
This is a bugfix release for some important issues, some of which were introduced with the previous release. See the ChangeLog for details.
06-Jun-2008 Exiv2 0.17 released
This release considerably extends the functionality for dealing with XMP. It includes conversion of Exif and IPTC to/from XMP, XMP sidecar files and XMP pretty printing functionality. It also adds support for JPEG 2000 (JP2) and Photoshop (PSD) images, among other improvements and fixes.
06-Mar-2008 API documentation
The complete Exiv2 API documentation is now available online. Thanks to Dimitri van Heesch for doxygen, the great source code documentation generator tool!
10-Jan-2008 Exiv2 0.16 released
Here is the final 0.16 release with XMP support. It took longer than it should have and thus contains quite a list of bug fixes and enhancements.
09-Nov-2007 Exiv2 0.16-pre1
This is a pre-release of the upcoming Exiv2 0.16 with XMP support. Adding XMP metadata to an image is now just as easy as adding Exif or IPTC tags. In addition there is new support for Olympus ORF images and Pentax makernotes. Please try Exiv2 0.16-pre1 and report issues you may have with it to the Exiv2 forum.
24-Sep-2007 XMP testing
The XMP implementation is now in the trunk in SVN and it is reasonably complete and ready for testing. Please try it out and let us know your comments. See this announcement for more details.
31-Aug-2007 XMP support
We're working on adding XMP support to the library, which should become the main feature of the next release. Contributions are welcome, in particular we need input from potential users about API preferences and XMP test data. You are invited to join this discussion in the forum and contribute your viewpoints.
10-Jul-2007 Exiv2 0.15 released
This maintenance release fixes a number of bugs, adds support for Minolta G500 RAW files and has minor tag and some larger translation updates. See the changelog for a concise listing of patches in this release.
19-Mar-2007 Exiv2 0.14 released
Exiv2 now uses libtool's -version-info library versioning system, which will allow future releases to indicate their compatibility with previous releases. This release also fixes a few bugs and adds minor features and tweaks to the build environment. See the changelog for details.
03-Mar-2007 Exiv2 0.13 released
This release features the Native Language Support framework and partial translations for Finnish, French, German, Polish, Russian and Spanish. It adds read-support for Fujifilm RAF images and a number of other features and fixes, listed in the changelog.
06-Dec-2006 Internationalisation
A framework for Native Language Support (using GNU gettext) has been added to the Exiv2 library in the SVN repository. This will be the main new feature of the next release.
Messages from Exiv2 like metadata tag titles, content, descriptions are ready to be translated now. If you are interested to contribute to the project, take a look at the Exiv2 repository. You can start a new translation using the Exiv2.pot file or update an existing PO file. Please contact me to coordinate; Thanks in advance!
27-Nov-2006 Exiv2 0.12 released
This is a bugfix release with just a few new features thrown in. The exiv2 tool can now use the original filename when renaming images and the library has pretty-print functions for Exif GPS tags. See the changelog for more.
16-Sep-2006 Exiv2 0.11 released
This release adds PNG and Sony ARW file format support, both read-only. Canon makernote tags were updated and a few additional Canon composite tags are now recognized. Reading TIFF and related files is about six times faster now compared to the previous version. This release finally works with Visual Studio C++ 2005 (MSVC 8) and fixes various bugs. See the changelog for details.
21-Aug-2006 Duallicensing
Exiv2 is now also available with a commercial license, i.e., for a fee, which makes it suitable for use in closed-source projects. Contact me for details. See this discussion in the forum for more information on the implications of this change.
03-Jun-2006 Exiv2 0.10 released
Exiv2 can now read TIFF images and a number of TIFF-based RAW image formats, including Nikon NEF, Canon CR2, Pentax PEF, Sony SR2, Adobe DNG and Minolta MRW formats. Besides displaying the Exif metadata, you can easily copy it from TIFF or RAW files to JPEG files (with the insert action).
This release also adds Minolta makernote support among other changes.
08-Mar-2006 Announcing exiv2.org
The new address not only looks nice, it is also hosted on an account with sufficient bandwidth to support the steadily increasing number of downloads.
If you have a bookmark or page that links to the old Exiv2 homepage, please change it to the respective new page on www.exiv2.org/.
Thanks to Brad for hosting and sponsoring the site.
04-Feb-2006 Exiv2 0.9.1 released
Exiv2 wrote an invalid Exif.Photo.UserComment tag when it was added to an image which didn't have this tag before. This bug is fixed in this release. It was introduced in release 0.8.
Added a method to class Image to check which types of metadata are supported.
See the changelog and this bug report for details.
26-Jan-2006 Exiv2 0.9 released
Completed Canon CRW support, tags can now also be written to Canon CRW images. See the documentation for the list of Exif tags that can be accessed in CRW files.
Added new options to the utility to deal with image file timestamps and to make the ISO setting of Nikon cameras accessible to applications that don't know Nikon makernotes by copying it from the makernote to the regular Exif ISO tag.
The changelog has the complete list.
19-Nov-2005 Exiv2 0.8 released
The Canon RAW support is currently read-only. Canon THM is also supported, since that is the same as JPEG. Note that THM files contain all the Exif stuff, CRW have only a few tags. Other improvements are mostly bugfixes to make Exiv2 handle various (more or less) exceptional situations more gracefully.
For application developers, there is a new precompiler define to suppress all output from the library and a small script, exiv2-config, to help with the compilation of your applications.
As always, check out the changelog for details.
09-Oct-2005 Vizrea agreement
I've recently entered into an agreement with Vizrea, under which the company can use most of the Exiv2 library (except for the Nikon lens table and related code) in their proprietary products under terms which are different from those of the GPL. In return Vizrea will assign the copyright of their changes to me and contribute them back to the free version.
Therefore, if this deal is successful, the free version of Exiv2 will benefit from the code contributed under the agreement. Since Brad, who wrote major portions of the existing library is with Vizrea, this will hopefully allow him to continue to spend time adding good stuff to Exiv2.
15-Jun-2005 Exiv2 0.7 released
The inside-out design change made class Exiv2::Image the top-level class of the library. This is the basis for support of other file formats (however, Exiv2 still only supports Jpeg for now). As a result, the C++ interface changed fundamentally in the way how metadata is accessed. Existing programs will need to be updated (see the examples). Thanks to the new I/O abstraction layer, it is now possible to access images in memory directly.
Additional makernotes from Olympus, Panasonic and Sony cameras are recognized and the Canon and Nikon makernotes have been updated.
Exif tags now have a default type, it works like the existing Iptc default type.
See the changelog for details.
06-Mar-2005 Exiv2 0.6.2 released
Utility: New -M option to specify modify commands directly on the command line, new -l option for a directory to/from which to extract/import files.
Bugfixes: Support for non-standard IFDs (as created by e.g., GraphicConverter for Mac), proper non-intrusive writing for the utility's modify command.
Build environment: Libtool support for correct (shared) library generation on various platforms, improved installation routine.
The changelog has the details.
17-Jan-2005 Exiv2 0.6.1 released
Bugfix: The Exif thumbnail is no more lost when Exif data is modified in an "intrusive" manner, e.g., by adding new tags. This was a bug introduced with release 0.6.
Feature: The new modify option adds metadata write support to the Exiv2 utility.
As usual, the changelog has more details.
09-Jan-2005 Support forum added
There have been more queries recently which may be of interest for other users. Going forward, please direct your questions to the new forum.
12-Dec-2004 Exiv2 0.6 released
This is a maintenance release containing numerous smaller improvements and fixes. The Exiv2 utility now also deletes, extracts, and re-inserts IPTC data and Jpeg comments from/into Jpeg files. The library now supports creation of all Exif metadata from scratch, including makernote tags and thumbnails. In addition, Exif as well as IPTC metadata with unknown tag names can be added and manipulated just like known tags. See the changelog for more details.
30-Oct-2004 Source online
Brad Schick, author of Robot Battle, now hosts the Exiv2 source code repository. He converted it from CVS to Subversion and provides a web interface, public bug tracking system and a nifty live list of the 50 last commits. Thanks! Check out the development section on the download page.
13-Sep-2004 Exiv2 0.5 released
This release adds support for IPTC metadata. IPTC datasets can now be manipulated (read and written) similar to Exif metadata. In connection with the IPTC feature, the existing Metadatum Key and Value concept was enhanced and the Jpeg file access code was revamped. The exiv2 utility has a new print option to show the IPTC metadata of a Jpeg image. Also, this release adds a configure script and MSVC project files (but no libtool support yet). See the changelog for details.
13-Sep-2004 Exif keys changed
Starting with release 0.5 the keys used to identify Exif tags are of the form 'Exif.groupName.tagName' to be consistent with the new IPTC keys. Existing programs need to be updated accordingly. Since the old keys are plain C++ strings, the compiler cannot detect the change. However, it will tell you to use the new classes Key and ExifKey in the critical regions of the code.
03-Jul-2004 Exiv2 0.4 released
This release adds support for three different Nikon makernote formats to the library. The generalised IfdMakerNote interface can accomodate more makernote oddities and allows for programmatic detection of the makernote format. The library now knows how to deal with broken IFDs. The Exiv2 utility uses a more intuitive and less rigid command line parsing logic. See the changelog for details.
03-Jul-2004 Nikon tags added
Tags for three different Nikon makernote formats are now available here.