Skip to content
Extracts Exif, IPTC, XMP, ICC and other metadata from image and video files
Java Other
  1. Java 99.4%
  2. Other 0.6%
Branch: master
Clone or download
drewnoakes Merge pull request #436 from jonasvoelcker/patch-1
Added support of standard ISO-8859-1 encoding
Latest commit ef906fb Sep 14, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
Resources Add some favicon resources. Mar 24, 2016
Samples/com/drew/metadata Bump copyright year Jul 6, 2019
Source/com/drew Merge pull request #436 from jonasvoelcker/patch-1 Sep 15, 2019
Tests Merge pull request #436 from jonasvoelcker/patch-1 Sep 15, 2019
wiki @ 98b4cb6 Bump submodule Jul 6, 2019
wiki-images @ 637fc76 Add wikis as submodules Jul 6, 2019
.editorconfig Add .editorconfig file. Closes #27. Nov 21, 2014
.gitattributes Further attempt to sort out line ending issues with Git. May 21, 2012
.gitignore Add support for clipping path name and path information extraction fr… Jul 11, 2017
.gitmodules Add wikis as submodules Jul 6, 2019
.travis.yml Create Feb 19, 2018
LICENSE Bump copyright year Jul 6, 2019 Verison 2.12.0 Jul 6, 2019
build.gradle fix gradle script error May 2, 2019
pom.xml for compiling with java 11 or greater Sep 3, 2019

metadata-extractor logo

metadata-extractor build status Maven Central Donate

metadata-extractor is a straightforward Java library for reading metadata from image files.


The easiest way is to install the library via its Maven package.


Alternatively, download it from the releases page.


Metadata metadata = ImageMetadataReader.readMetadata(imagePath);

With that Metadata instance, you can iterate or query the various tag values that were read from the image.


The library understands several formats of metadata, many of which may be present in a single image:

It will process files of type:

  • JPEG
  • TIFF
  • WebP
  • WAV
  • AVI
  • PSD
  • PNG
  • BMP
  • GIF
  • ICO
  • PCX
  • QuickTime
  • MP4
  • Camera Raw
    • NEF (Nikon)
    • CR2 (Canon)
    • ORF (Olympus)
    • ARW (Sony)
    • RW2 (Panasonic)
    • RWL (Leica)
    • SRW (Samsung)

Camera-specific "makernote" data is decoded for cameras manufactured by:

  • Agfa
  • Apple
  • Canon
  • Casio
  • Epson
  • Fujifilm
  • Kodak
  • Kyocera
  • Leica
  • Minolta
  • Nikon
  • Olympus
  • Panasonic
  • Pentax
  • Reconyx
  • Sanyo
  • Sigma/Foveon
  • Sony

Read getting started for an introduction to the basics of using this library.

Questions & Feedback

The quickest way to have your questions answered is via Stack Overflow. Check whether your question has already been asked, and if not, ask a new one tagged with both metadata-extractor and java.

Bugs and feature requests should be provided via the project's issue tracker. Please attach sample images where possible as most issues cannot be investigated without an image.


If you want to get your hands dirty, making a pull request is a great way to enhance the library. In general it's best to create an issue first that captures the problem you want to address. You can discuss your proposed solution in that issue. This gives others a chance to provide feedback before you spend your valuable time working on it.

An easier way to help is to contribute to the sample image file library used for research and testing.


This library is developed by Drew Noakes.

Thanks are due to the many users who sent in suggestions, bug reports, sample images from their cameras as well as encouragement. Wherever possible, they have been credited in the source code and commit logs.

Other languages

More information about this project is available at:

You can’t perform that action at this time.