You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Michael Pfaff 9a4f4e2af6
Add missing min,max import
6 months ago
examples More readable Debug::fmt for Value::{Ascii, Undefined}. 3 years ago
src Add missing min,max import 6 months ago
tests Improve 1 year ago
.gitignore Update time dependency and add Cargo.lock to .gitignore 6 months ago
Cargo.toml Update time dependency and add Cargo.lock to .gitignore 6 months ago
NEWS Add NEWS file. 1 year ago
README Remove the actual version from README. 1 year ago


Exif parsing library written in pure Rust

This is a pure-Rust library to parse Exif data.
This library parses Exif attributes in a raw Exif data block.
It can also read Exif data directly from some image formats.

Supported formats are:
- TIFF and some RAW image formats based on it
- HEIF and coding-specific variations including HEIC and AVIF
- WebP


Add a dependency entry to your Cargo.toml. Specify "kamadak-exif"
if you use The canonical name of this crate is "exif",
but it is renamed on to avoid a naming conflict.

kamadak-exif = "x.y.z"

Add the following to your crate root (before Rust 2018).

extern crate exif;

Run "cargo doc" in the source directory to generate the API reference.
It is also available online at <>.

See examples directory for sample codes.


Rust 1.40 or later is required to build.


- Exif Version 2.32
- DCF Version 2.0 (Edition 2010)
- TIFF Revision 6.0
- ISO/IEC 14496-12:2015
- ISO/IEC 23008-12:2017
- PNG Specification, Version 1.2
- Extensions to the PNG 1.2 Specification, version 1.5.0
- WebP Container Specification, committed on 2018-04-20