# Install exiv2 with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, winget, zypper

EXIF and IPTC metadata manipulation library and tools. Version 0.28.8 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:exiv2
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install exiv2
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install exiv2
```

  Evidence: MacPorts ports tree: graphics/exiv2/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add exiv2
```

  Evidence: Alpine Linux edge package indexes: exiv2 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install exiv2
```

  Evidence: Debian stable package indexes: exiv2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install exiv2
```

  Evidence: Fedora Rawhide package metadata: exiv2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#exiv2
```

  Evidence: nixpkgs package indexes: pkgs/by-name/ex/exiv2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S exiv2
```

  Evidence: Arch Linux sync databases: exiv2 from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install exiv2
```

  Evidence: openSUSE Tumbleweed package metadata: exiv2 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- winget (92%):

```sh
winget install --id Exiv2.Exiv2 -e
```

  Evidence: Windows Package Manager source index: Exiv2.Exiv2 from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:exiv2
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/exiv2>
- **Version:** 0.28.8
- **Source summary:** EXIF and IPTC metadata manipulation library and tools
- **Homepage:** <https://exiv2.org/>
- **Repository:** <https://github.com/Exiv2/exiv2>
- **Upstream docs:** <https://exiv2.org/>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.8.tar.gz>
- **Last updated:** 2026-06-25T13:37:40+02:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- exiv2 (cli)
- exiv2 (alias)

## Dependencies

- brotli
- gettext
- inih
- libssh

## Build dependencies

- cmake
- gettext

## Uses from macOS

- curl
- expat

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 0.28.8
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/Exiv2/exiv2
- Upstream latest detected: v0.28.8 (current)
## Project history and usage

Exiv2 is a C++ image metadata library and command-line utility for Exif, IPTC, XMP, image comments, ICC profiles, thumbnails, previews, and vendor makernotes. Its niche is narrower than ExifTool's, but it is important because it gives C and C++ photo applications a native metadata engine and a scriptable CLI.

### Project history

The Exiv2 project history says Andreas Huggel originally created Exiv2 to fix photos with incorrect Exif timestamps, then turned it into a proof of concept for reading and writing Exif makernotes after discussion with people at Kodak. Andreas first published it on the Internet in 2004.

The project grew from a personal utility into a library and toolchain. Early contributors added IPTC support, Microsoft Visual C++ project files, an I/O abstraction layer, a generalized image class, public bug tracking, and repository hosting. Later work added broader format support, CMake and Visual Studio build support, ICC profile handling, file-dump features, and documentation around the Exiv2 architecture.

### Adoption history

Exiv2's own project-history page names UFRaw and digiKam as notable early adopters, and says GIMP, Shotwell, Darktable, and PhotoFlow use libexiv2. That places Exiv2 in the desktop photography and raw-image workflow world rather than only in command-line batch processing.

The project also developed a wrapper and ecosystem story: the history page mentions pyexiv2 as a separate Python wrapper project, and the manual points users to the GitHub source, sample programs, metadata tables, architecture book, and contributor graph.

### How it is used

The exiv2 command reads, writes, modifies, extracts, inserts, deletes, adjusts, renames, and prints metadata across supported image formats. The manual emphasizes Exif, IPTC, XMP, makernote tags, comments, ICC profiles, thumbnails, and previews, with optional conversion between metadata families according to relevant standards and Metadata Working Group guidance.

Exiv2 has a small user configuration surface: an optional .exiv2 file on Unix-like systems and exiv2.ini on Windows, searched first in the current directory and then in the user's home directory. That file lets users add lens definitions for translated metadata output.

### Why package nerds care

Package maintainers care about Exiv2 because image metadata parsers sit on hostile file boundaries: desktop applications, photo managers, and batch tools may all parse camera files downloaded from elsewhere. Exiv2 packages therefore tend to be watched both for feature coverage and for parser/security fixes.

Exiv2 is also a useful comparison point with ExifTool. The Exiv2 FAQ says Exiv2's C++ implementation makes it faster and easier to integrate into C, C++, and Objective-C applications, while ExifTool has the broader feature set. That tradeoff explains why both tools coexist in package repositories.

### Timeline

- 2004: Andreas Huggel first published Exiv2 on the Internet.
- 2012-2013: Google Summer of Code contributors added video support and Web Ready functionality.
- 2014: Robin Mills retired and Exiv2 v0.25 added a build server.
- 0.26: Maintenance release focused on CMake, Visual Studio support, ICC profiles, and file-dump features.

### Related projects

- ExifTool is the common comparison point: broader metadata coverage, implemented in Perl.
- UFRaw, digiKam, GIMP, Shotwell, Darktable, and PhotoFlow are named by Exiv2's history page as users of libexiv2.
- pyexiv2 is the Python wrapper project mentioned by Exiv2's project history.

### Sources

- <https://dev.exiv2.org/projects/exiv2/wiki/What_was_the_motivation_for_creating_Exiv2>
- <https://exiv2.org/manpage.html>
- <https://dev.exiv2.org/projects/exiv2/wiki/How_does_Exiv2_compare_to_Exiftool>
- <https://exiv2.org/book/>


## Security Notes

library-like package without higher-risk signals.

- **Geiger risk:** green / low
- library-like package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** exiv2
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - exiv2 - 0.28.5+dfsg-1: normalized package name match | Debian stable package indexes: exiv2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | EXIF/IPTC/XMP metadata manipulation tool | https://www.exiv2.org/
- Debian apt - libexiv2-28 - 0.28.5+dfsg-1: normalized package name match | Debian stable package indexes: libexiv2-28 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | EXIF/IPTC/XMP metadata manipulation library | https://www.exiv2.org/
- Debian apt - libexiv2-data - 0.28.5+dfsg-1: normalized package name match | Debian stable package indexes: libexiv2-data from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | EXIF/IPTC/XMP metadata manipulation library - shared data | https://www.exiv2.org/
- Debian apt - libexiv2-dev - 0.28.5+dfsg-1: normalized package name match | Debian stable package indexes: libexiv2-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | EXIF/IPTC/XMP metadata manipulation library - development files | https://www.exiv2.org/
- Debian apt - libexiv2-doc - 0.28.5+dfsg-1: normalized package name match | Debian stable package indexes: libexiv2-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | EXIF/IPTC/XMP metadata manipulation library - HTML documentation | https://www.exiv2.org/
- Nix - exiv2: normalized package name match | nixpkgs package indexes: pkgs/by-name/ex/exiv2/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - exiv2 - 0.27.6-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: exiv2 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | EXIF/IPTC/XMP metadata manipulation tool | https://www.exiv2.org/
- Ubuntu apt - libexiv2-27 - 0.27.6-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libexiv2-27 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | EXIF/IPTC/XMP metadata manipulation library | https://www.exiv2.org/
- Ubuntu apt - libexiv2-dev - 0.27.6-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libexiv2-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | EXIF/IPTC/XMP metadata manipulation library - development files | https://www.exiv2.org/
- Ubuntu apt - libexiv2-doc - 0.27.6-1build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libexiv2-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | EXIF/IPTC/XMP metadata manipulation library - HTML documentation | https://www.exiv2.org/
- apk - exiv2 - 0.28.7-r0: normalized package name match | Alpine Linux edge package indexes: exiv2 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Exif and Iptc metadata manipulation library and tools. | https://exiv2.org/
- apk - exiv2-dev - 0.28.7-r0: normalized package name match | Alpine Linux edge package indexes: exiv2-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Exif and Iptc metadata manipulation library and tools. (development files) | https://exiv2.org/
- apk - exiv2-doc - 0.28.7-r0: normalized package name match | Alpine Linux edge package indexes: exiv2-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Exif and Iptc metadata manipulation library and tools. (documentation) | https://exiv2.org/
- apk - exiv2-libs - 0.28.7-r0: normalized package name match | Alpine Linux edge package indexes: exiv2-libs from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Exif and Iptc metadata manipulation library and tools. (libraries) | https://exiv2.org/
- dnf - exiv2 - 0.28.6-3.fc44: normalized package name match | Fedora Rawhide package metadata: exiv2 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Exif, IPTC and XMP metadata manipulation library | http://www.exiv2.org/
- dnf - exiv2-devel - 0.28.6-3.fc44: normalized package name match | Fedora Rawhide package metadata: exiv2-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Header files, libraries and development documentation for exiv2 | http://www.exiv2.org/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Media and graphics packages](https://www.automicvault.com/pkg/media-graphics-tools/) - Matched media, image, audio, video, or graphics metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [brotli](https://www.automicvault.com/pkg/brew/brotli/) - Runtime dependency declared by Homebrew.
- [gettext](https://www.automicvault.com/pkg/brew/gettext/) - Runtime dependency declared by Homebrew.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [geeqie](https://www.automicvault.com/pkg/brew/geeqie/) - Popular package that depends on this formula.
- [siril](https://www.automicvault.com/pkg/brew/siril/) - Popular package that depends on this formula.
- [exempi](https://www.automicvault.com/pkg/brew/exempi/) - Shares av.db curated category or tags: cli, media, metadata, xmp.
- [exif](https://www.automicvault.com/pkg/brew/exif/) - Shares av.db curated category or tags: cli, exif, media, metadata.
- [exiftags](https://www.automicvault.com/pkg/brew/exiftags/) - Shares av.db curated category or tags: cli, exif, media, metadata.
- [exiftool](https://www.automicvault.com/pkg/brew/exiftool/) - Shares av.db curated category or tags: cli, exif, media, metadata.
- [jhead](https://www.automicvault.com/pkg/brew/jhead/) - Shares av.db curated category or tags: cli, exif, media, metadata.
- [libiptcdata](https://www.automicvault.com/pkg/brew/libiptcdata/) - Shares av.db curated category or tags: cli, iptc, media, metadata.
- [taglib](https://www.automicvault.com/pkg/brew/taglib/) - Shares av.db curated category or tags: c-plus-plus, cli, media, metadata.
- [avimetaedit](https://www.automicvault.com/pkg/brew/avimetaedit/) - Shares av.db curated category or tags: cli, media, metadata.
- [glyr](https://www.automicvault.com/pkg/brew/glyr/) - Local package facts share a topical domain. Shared terms: cli, gettext, media, metadata.

## Combined YAML source

View the package source record on GitHub. [combined/exiv2.yml](https://github.com/automic-vault/db/blob/main/combined/exiv2.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
