Getting started

An overview of the basic Exiv2 C++ library and command line utility features and the Exiv2 project, examples and more.

  Download Exiv2

Exiv2 C++ library

  • Fast read and write access to the Exif, IPTC and XMP metadata of an image
  • Easy to use and extensively documented C++ API
  • Conversions of Exif and IPTC metadata to XMP and vice versa
  • Smart IPTC implementation that does not affect data that programs like Photoshop store in the same image segment
  • Exif Makernote support:
    • Makernote tags can be read and written just like any other metadata
    • Sophisticated write algorithm avoids corrupting the Makernote
  • Simple interface to extract previews embedded in RAW images and Exif thumbnails
  • Set and delete methods for Exif thumbnails

Future plans

These are high-level goals for the Exiv2 library, see the roadmap for details for the upcoming version.

  • A stable API
  • A unified metadata container
  • Additional image formats and more Makernote support

To learn how to use the Exiv2 library in your own programs, start by reading the short API documentation intro and study some of the examples here. Refer to the metadata taglists for supported tags and default types and the API documentation for the interface.

Exiv2 Community and Resources

The Exiv2 community website provides access to all project resources, including the issue tracker, wiki, forum and source code repository. There you can interact with project members and users to get help and support, report bugs and get involved with the project.

Community website

Command line utility

  • Print Exif, IPTC and XMP image metadata in different formats: Exif summary info, interpreted values, or the plain data for each tag
  • Print the structure of images. This is useful for image file analysis.
  • Set, add and delete Exif, IPTC, XMP metadata and ICC profile from command line modify commands or command scripts
  • Adjust the Exif timestamp (that's how it all started...)
  • Rename Exif image files according to the Exif timestamp
  • Extract, insert and delete Exif, IPTC and XMP metadata and JPEG comments
  • Convert from Exif and IPTC to XMP properties and vice versa
  • Extract previews from RAW images and thumbnails from the Exif metadata
  • Insert and delete the thumbnail image embedded in the Exif metadata
  • Print, set and delete the JPEG comment of JPEG images
  • Fix the Exif ISO setting of picture taken with Canon and Nikon cameras
  • Metadata and ICC Profiles can be very conveniently piped on the command-line from one image to others.

To get started with the Exiv2 command line utility, run it with the -h parameter from a terminal or cmd shell: exiv2 -h and study the samples here. For details, read the manual page.

Utility samples

The Exiv2 project is registered with Open Hub, a service that helps track and compare Open Source projects. Among other things, the good people at Open Hub provide tools for evaluating Open Source projects and communities. Their analysis is based on data gathered from the project's source code repositories. Below are the Open Hub "factoids" for Exiv2. Use these to explore what Open Hub has to say on the state of our project.