metadata-extractor is a straightforward Java library for reading metadata from image files.
Metadata metadata = ImageMetadataReader.readMetadata(imagePath);
With that metadata
object, 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:
- Exif
- IPTC
- XMP
- JFIF / JFXX
- ICC Profiles
- Photoshop fields
- WebP properties
- PNG properties
- BMP properties
- GIF properties
- ICO properties
- PCX properties
It will process files of type:
- JPEG
- TIFF
- WebP
- PSD
- PNG
- BMP
- GIF
- ICO
- PCX
- 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
- Canon
- Casio
- Epson
- Fujifilm
- Kodak
- Kyocera
- Leica
- Minolta
- Nikon
- Olympus
- Panasonic
- Pentax
- Sanyo
- Sigma/Foveon
- Sony
Read getting started for an introduction to the basics of using this library.
- metadata-extractor-dev for discussion about development and notifications of changes to issues and source code
- metadata-extractor-announce for announcements of new releases
Have questions or ideas? Try the mailing list or open an issue. GitHub's issue tracker accepts attachments, and sample images are often crucial in debugging problems.
If you want to get your hands dirty, clone this repository, enhance the library and submit a pull request. Review the issue list and ask around on the mailing list to avoid duplication of work.
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.
Copyright 2002-2016 Drew Noakes
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
More information about this project is available at:
A feature-equivalent .NET implementation, metadata-extractor-dotnet is now being developed alongside this original Java version.