11 releases
| 0.3.0 | Aug 28, 2025 |
|---|---|
| 0.3.0-alpha | Jun 13, 2025 |
| 0.2.2 | Mar 27, 2025 |
| 0.1.3 | Aug 21, 2024 |
| 0.1.1 | Jul 30, 2024 |
#628 in Images
3,451 downloads per month
Used in 2 crates
89KB
2K
SLoC
Gufo Exif
Gufo exif is a native Rust crate to read and edit EXIF metadata.
This crate is specifically focused on editing EXIF data while preserving the existing structure as much as possible. Every edit operation tries to only updates the raw data as much as necessary.
Usage
The high level API in Exif provides simple access to commonly used metadata.
let data = std::fs::read("tests/example.jpg").unwrap();
let jpeg = gufo_jpeg::Jpeg::new(data).unwrap();
let raw_exif = jpeg.exif_data().next().unwrap().to_vec();
eprintln!("{}", String::from_utf8_lossy(&raw_exif));
let exif = gufo_exif::Exif::new(raw_exif).unwrap();
println!("Camera Model: {}", exif.model().unwrap());
This library also exposes lower level access to the Exif data. More details can be found in the internal documentation.
Existing Crates
| Crate | Info | Comment |
|---|---|---|
| exif-rs | Native, read only | Abandoned |
| exif-sys | FFI bindings for libexif | Abandoned |
| exif | Save binding for exif-sys | Abandoned |
| gexiv2 | FFI bindings for gexiv2 | |
| imagemeta | Native | Abandoned |
| kamadak-exif | Native, experimental writing | Quasi standard |
| little_exif | Native | |
| peck-exif | Native, read only | |
| rexif | Native | |
| rexiv2 | Save bindings for gexiv2 |
Relevant Standards
Dependencies
~0.5–1.3MB
~23K SLoC