Image metadata library and tools

What's new

20-Jun-2008 Corrupt file
The exiv2-0.17.1.tar.gz file uploaded on 19-Jun-08 was broken. The problem is resolved now. If you can't unpack the tarball, please download the file again. Apologies for the invonvenience caused.
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.