# Install jhead with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, scoop

Extract Digicam setting info from EXIF JPEG headers. Version 3.08 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:jhead
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jhead
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install jhead
```

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

### Linux

- apk (92%):

```sh
sudo apk add jhead
```

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

- Debian apt (92%):

```sh
sudo apt install jhead
```

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

- dnf (92%):

```sh
sudo dnf install jhead
```

  Evidence: Fedora Rawhide package metadata: jhead 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#jhead
```

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

- pacman (92%):

```sh
sudo pacman -S jhead
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/jhead
```

  Evidence: Scoop official bucket manifest trees: bucket/jhead.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:jhead
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jhead>
- **Version:** 3.08
- **Source summary:** Extract Digicam setting info from EXIF JPEG headers
- **Homepage:** <https://github.com/Matthias-Wandel/jhead>
- **Repository:** <https://github.com/Matthias-Wandel/jhead>
- **Upstream docs:** <https://github.com/Matthias-Wandel/jhead#readme>
- **License:** LicenseRef-Homebrew-public-domain
- **Source archive:** <https://github.com/Matthias-Wandel/jhead/archive/refs/tags/3.08.tar.gz>
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- jhead (cli)
- jhead (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_big_sur, arm64_linux, arm64_monterey, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, big_sur, monterey, sonoma, ventura, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.08
- Local data: ok
- Upstream repository: https://github.com/Matthias-Wandel/jhead
- Upstream latest detected: 3.08 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

jhead is Matthias Wandel's small command-line utility for displaying and modifying metadata in digital-camera image files. It began as an EXIF inspection tool for JPEGs and later grew practical metadata operations such as timestamp adjustment, thumbnail handling, comment editing, metadata stripping, and orientation-based rotation.

### Project history

The official README says Wandel first wrote jhead in 1999, when there was not much software for looking inside EXIF headers. The source file header records development from December 1999 through March 2026, and the repository preserves the author's long-running public-domain C utility.

The project's own notes explain its design goal: stay small, simple, and understandable rather than compete with larger metadata suites. Wandel explicitly points users who need broad metadata coverage to ExifTool or Exiv2, while positioning jhead as a fast utility and readable codebase for understanding EXIF internals.

### Adoption history

jhead spread through Unix package collections because it filled an everyday digital-camera need with one C executable. The README notes availability in many Linux distributions and ports trees, and the Homebrew formula preserves it as a compact image-metadata command.

Its adoption belongs to the early digital photography era, when users wanted shell tools to rename photos by capture time, fix camera clock mistakes, rotate JPEGs according to orientation tags, and strip or inspect metadata in batches.

### How it is used

jhead is commonly used to print camera settings, set file timestamps from EXIF dates, adjust EXIF time fields, rename files using photo timestamps, remove metadata sections, edit comments, and invoke jpegtran for lossless rotation according to EXIF orientation.

The tool is deliberately not a general metadata framework. Its docs tell users to reach for ExifTool or Exiv2 when they need broader format or tag coverage.

### Why package nerds care

jhead is a classic package-manager utility: tiny, scriptable, portable C, no service dependency, and useful in pipelines. It is the kind of tool that persists in distro archives because it solves a narrow job with little operational weight.

It also documents a useful package-design tradeoff. Rather than absorb every EXIF feature, it keeps a stable small-tool identity while coexisting with heavier metadata projects.

### Timeline

- 1999: Matthias Wandel wrote jhead to inspect EXIF headers from digital-camera JPEG files.
- 2020: The GitHub repository was created as an official public source location.
- 2026: The source header records the maintained version line as jhead 3.3 and a Dec 1999 to Mar 2026 development span.

### Related projects

- ExifTool is the larger metadata utility that jhead's README recommends for broader feature coverage.
- Exiv2 is another metadata tool named by the jhead README as a more sophisticated alternative.
- jpegtran is commonly paired with jhead for lossless rotation driven by EXIF orientation data.

### Sources

- <https://formulae.brew.sh/formula/jhead>
- <https://github.com/Matthias-Wandel/jhead>
- <https://raw.githubusercontent.com/Matthias-Wandel/jhead/master/jhead.c>
- <https://raw.githubusercontent.com/Matthias-Wandel/jhead/master/readme.txt>
- <https://raw.githubusercontent.com/Matthias-Wandel/jhead/master/usage.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

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

## Other Package-Manager Records

- Debian apt - jhead - 1:3.08-3: normalized package name match | Debian stable package indexes: jhead from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | manipulate the non-image part of Exif compliant JPEG files | https://www.sentex.net/~mwandel/jhead/
- Nix - jhead: normalized package name match | nixpkgs package indexes: pkgs/by-name/jh/jhead/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - jhead - 1:3.08-2: normalized package name match | Ubuntu 24.04 LTS package indexes: jhead from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | manipulate the non-image part of Exif compliant JPEG files | https://www.sentex.net/~mwandel/jhead/
- apk - jhead - 3.08-r0: normalized package name match | Alpine Linux edge package indexes: jhead from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Exif Jpeg header manipulation tool | http://www.sentex.net/~mwandel/jhead/
- apk - jhead-doc - 3.08-r0: normalized package name match | Alpine Linux edge package indexes: jhead-doc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Exif Jpeg header manipulation tool (documentation) | http://www.sentex.net/~mwandel/jhead/
- dnf - jhead - 3.08-7.fc44: normalized package name match | Fedora Rawhide package metadata: jhead from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Tool for displaying EXIF data embedded in JPEG images | http://www.sentex.net/~mwandel/jhead/
- pacman - jhead - 3.08-3: normalized package name match | Arch Linux sync databases: jhead from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | EXIF JPEG info parser and thumbnail remover | http://www.sentex.net/~mwandel/jhead/
- MacPorts - jhead: normalized package name match | MacPorts ports tree: graphics/jhead/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/jhead: normalized package name match | Scoop official bucket manifest trees: bucket/jhead.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [exiftags](https://www.automicvault.com/pkg/brew/exiftags/) - Shares av.db curated category or tags: cli, exif, jpeg, media, metadata.
- [exif](https://www.automicvault.com/pkg/brew/exif/) - 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.
- [exiv2](https://www.automicvault.com/pkg/brew/exiv2/) - Shares av.db curated category or tags: cli, exif, media, metadata.
- [avimetaedit](https://www.automicvault.com/pkg/brew/avimetaedit/) - Shares av.db curated category or tags: cli, media, metadata.
- [bwfmetaedit](https://www.automicvault.com/pkg/brew/bwfmetaedit/) - Shares av.db curated category or tags: cli, media, metadata.
- [cd-discid](https://www.automicvault.com/pkg/brew/cd-discid/) - Shares av.db curated category or tags: cli, media, metadata.
- [dovi_tool](https://www.automicvault.com/pkg/brew/dovi-tool/) - Shares av.db curated category or tags: cli, media, metadata.
- [pngcheck](https://www.automicvault.com/pkg/brew/pngcheck/) - Both packages work with overlapping file formats or content types. Shared terms: cli, image, image-tools, info, media.
- [exifreader](https://www.automicvault.com/pkg/npm/exifreader/) - Local package facts share a topical domain. Shared terms: cli, exif, media, metadata.
- [exiftool-vendored.pl](https://www.automicvault.com/pkg/npm/exiftool-vendored-pl/) - Local package facts share a topical domain. Shared terms: cli, exif, media, metadata.

## Combined YAML source

View the package source record on GitHub. [combined/jhead.yml](https://github.com/automic-vault/db/blob/main/combined/jhead.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
