Java PDF Blog
Learn More About PDF Files
Blog Categories
PDF → PDF to HTML → PDF Forms to HTML →
Java → Working with PDF in Java → Working with Images in Java →
About Us
Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.

How to read EXIF metadata from Image files

Updated: May 6, 2025 41 sec read

Reading EXIF metadata from Image files

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 Heic). 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 Heic Image metadata in two lines of Java code.



Are you a Java Developer working with Image files?

// Read an image
BufferedImage bufferedImage = JDeli.read(dicomImageFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(heicImageFile);

// Write an image
JDeli.write(bufferedImage, "heic", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpegImageFile);

// Write an image
JDeli.write(bufferedImage, "jpeg", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(jpeg2000ImageFile);

// Write an image
JDeli.write(bufferedImage, "jpx", outputStreamOrFile);
// Write an image
JDeli.write(bufferedImage, "pdf", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(pngImageFile);

// Write an image
JDeli.write(bufferedImage, "png", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(tiffImageFile);

// Write an image
JDeli.write(bufferedImage, "tiff", outputStreamOrFile);
// Read an image
BufferedImage bufferedImage = JDeli.read(webpImageFile);

// Write an image
JDeli.write(bufferedImage, "webp", outputStreamOrFile);

What is JDeli?

JDeli is a commercial Java Image library that is used to read, write, convert, manipulate and process many different image formats.

Why use JDeli?

To handle many well known formats such as JPEG, PNG, TIFF as well as newer formats like AVIF, HEIC and JPEG XL in java with no calls to any external system or third party library.

What licenses are available?

We have 3 licenses available:
Server for on premises and cloud servers, Distribution for use in a named end user applications, and Custom for more demanding requirements.

How does JDeli compare?

We work hard to make sure JDeli performance is better than or similar to other java image libraries. Check out our benchmarks to see just how well JDeli performs.

Mark Stephens Mark has been working with Java and PDF since 1999 and is a big NetBeans fan. He enjoys speaking at conferences. He has an MA in Medieval History and a passion for reading.
  • Image
  • JDeli
« How to print PDF files from Java (Tutorial)
What is JPEG XL? »

Java PDF to GIF conversion (Tutorial)

Jacob Collins
Jun 17, 2025 1 min read

Java PDF to JPEG conversion (Tutorial)

Jacob Collins
Jun 10, 2025 1 min read

Aspose Alternative for Image Processing

Amy Pearson
May 19, 2025 2 min read

© IDRsolutions Ltd 2025. All rights reserved.