In our previous article we looked at some Viewers which could display Exif data for you. Sometimes, you need to programmatically access the data. So we finish our series of articles with some suggestions to try. There is a good selection of free and commercial tools for reading EXIF data from Image files, depending on the language you are writing your code in. Not all tools support all image formats (especially Avif or Heic).
What tools can you use to read Exif metadata programmatically?
Here is a selection of 5 Open Source or Commercial tools which you may find useful as a starting point. Please feel to add your own suggestions.
- libheif is an Open Source library for accessing image data. While this is written in C, there are a number of wrappers for other languages including Python. There is a really good tutorial for this on Youtube.
- exiv2 is a an Open Source C++ library for reading Exif data.
- ExifTool is an Open Source Perl library for reading Exif data from multiple file types.
- Leadtools is a commercial toolkit for Images.
- JDeli is the best enterprise-level Java image library for image manipulation. JDeli allows you to extract Avif, Heic, Jpeg, Png, and WebP Image metadata in two lines of Java code.
How do you read Exif from an image file with JDeli?
As mentioned above you’ll only need two lines to grab the exif data from an image using JDeli.
HeicMetadata metadata = JDeli.getImageInfo(HeicImageFile);
Exif exif = metadata.getExif();
This example is for reading Exif from a Heic file, but you can easily do the same for Avif, Jpeg, Png, and WebP by just changing the metadata class you use.