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

Utility to optimize JPEG files. Version 1.5.6 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:jpegoptim
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jpegoptim
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install jpegoptim
```

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

### Linux

- apk (92%):

```sh
sudo apk add jpegoptim
```

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

- Debian apt (92%):

```sh
sudo apt install jpegoptim
```

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

- dnf (92%):

```sh
sudo dnf install jpegoptim
```

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

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

- pacman (92%):

```sh
sudo pacman -S jpegoptim
```

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

- zypper (92%):

```sh
sudo zypper install jpegoptim
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/jpegoptim
```

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

- winget (92%):

```sh
winget install --id TimoKokkonen.Jpegoptim -e
```

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

## Package facts

- **Package key:** brew:jpegoptim
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jpegoptim>
- **Version:** 1.5.6
- **Source summary:** Utility to optimize JPEG files
- **Homepage:** <https://github.com/tjko/jpegoptim>
- **Repository:** <https://github.com/tjko/jpegoptim>
- **Upstream docs:** <https://github.com/tjko/jpegoptim#readme>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://github.com/tjko/jpegoptim/archive/refs/tags/v1.5.6.tar.gz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- jpegoptim (cli)
- jpegoptim (alias)

## Dependencies

- jpeg-turbo

## 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: 1.5.6
- Local data: ok
- Upstream repository: https://github.com/tjko/jpegoptim
- Upstream latest detected: v1.5.6 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

jpegoptim is Timo Kokkonen's long-running command-line optimizer for JPEG/JFIF files. It focuses on lossless Huffman-table optimization and optional lossy recompression controlled by quality or target-size flags.

### Project history

The upstream README records copyright years beginning in 1996 and lists v1.0 as the first public release. The project was built around IJG libjpeg, with compatibility notes for libjpeg-turbo and mozjpeg, and it stayed close to the Unix tradition of a small binary that rewrites files in place unless directed otherwise.

The 1.2 and 1.3 series added metadata preservation and stripping controls, GNU autoconf support, progressive JPEG support, target-size compression, and better cross-platform handling. The 1.4 and 1.5 series added stdin/stdout workflows, parallel workers, safer marker handling, fuzzing integration, CI-built binaries, and options such as `--retry`, `--save-extra`, and `--auto-mode`.

### Adoption history

jpegoptim became a standard packaging target because web developers, image pipelines, and static-site build scripts needed a scriptable way to reduce JPEG size without changing formats. Its presence across Homebrew, Debian, Fedora, MacPorts, Nix, Arch, Scoop, Ubuntu, winget, and openSUSE reflects broad use in both Unix and cross-platform developer environments.

### How it is used

The tool is commonly run over directories of JPEGs to reduce file size, strip or preserve metadata, convert progressive mode, or cap quality. Because it can preserve modification times and permissions and can emit CSV progress, it fits automation as well as one-off cleanup.

### Why package nerds care

jpegoptim is notable because it turns a libjpeg-compatible encoder into a packaging-era workhorse: tiny CLI surface, old-school C portability, and enough knobs for web-performance pipelines. It also shows the practical boundary between lossless JPEG optimization and deliberate lossy recompression.

### Timeline

- 1996: Copyright period begins in the upstream README.
- v1.0: First public release, as listed in the upstream history.
- v1.3.0: Added progressive JPEG support and target-size lossy optimization.
- 2022-09-15: v1.5.0 added `--workers` for parallel processing.
- 2025-09-15: v1.5.6 added `--retry`, `--save-extra`, `--auto-mode`, initial unit tests, and OSSFuzz integration.

### Related projects

- Related projects include IJG libjpeg, libjpeg-turbo, mozjpeg, jpeginfo, imageoptim-style GUI tools, and web image build pipelines.

### Sources

- <https://github.com/tjko/jpegoptim>
- <https://github.com/tjko/jpegoptim/releases>
- <https://raw.githubusercontent.com/tjko/jpegoptim/master/README>
- <https://raw.githubusercontent.com/tjko/jpegoptim/master/jpegoptim.1>
- <https://www.kokkonen.net/tjko/projects.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:** jpegoptim
- **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 - jpegoptim - 1.4.7-1: normalized package name match | Debian stable package indexes: jpegoptim from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | utility to optimize jpeg files | http://www.kokkonen.net/tjko/projects.html
- Nix - jpegoptim: normalized package name match | nixpkgs package indexes: pkgs/by-name/jp/jpegoptim/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - jpegoptim - 1.4.7-1: normalized package name match | Ubuntu 24.04 LTS package indexes: jpegoptim from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | utility to optimize jpeg files | http://www.kokkonen.net/tjko/projects.html
- apk - jpegoptim - 1.5.6-r0: normalized package name match | Alpine Linux edge package indexes: jpegoptim from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | JPEG optimization utility | https://github.com/tjko/jpegoptim
- apk - jpegoptim-doc - 1.5.6-r0: normalized package name match | Alpine Linux edge package indexes: jpegoptim-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | JPEG optimization utility (documentation) | https://github.com/tjko/jpegoptim
- dnf - jpegoptim - 1.5.6-2.fc44: normalized package name match | Fedora Rawhide package metadata: jpegoptim from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Utility to optimize JPEG files | http://www.kokkonen.net/tjko/projects.html
- pacman - jpegoptim - 1.5.6-1: normalized package name match | Arch Linux sync databases: jpegoptim from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Jpeg optimisation utility | https://github.com/tjko/jpegoptim
- zypper - jpegoptim - 1.5.6-1.3: normalized package name match | openSUSE Tumbleweed package metadata: jpegoptim from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Utility for Optimizing JPEG Files | https://www.kokkonen.net/tjko/projects.html
- MacPorts - jpegoptim: normalized package name match | MacPorts ports tree: graphics/jpegoptim/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/jpegoptim: normalized package name match | Scoop official bucket manifest trees: bucket/jpegoptim.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1
- winget - TimoKokkonen.Jpegoptim: normalized package name match | Windows Package Manager source index: TimoKokkonen.Jpegoptim from https://cdn.winget.microsoft.com/cache/source.msix


## 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.
- [Archive and compression packages](https://www.automicvault.com/pkg/archive-compression-tools/) - Matched archive or compression metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Runtime dependency declared by Homebrew.
- [oxipng](https://www.automicvault.com/pkg/brew/oxipng/) - Shares av.db curated category or tags: cli, compression, image-optimization, media.
- [pngquant](https://www.automicvault.com/pkg/brew/pngquant/) - Shares av.db curated category or tags: cli, image-optimization, lossy-compression, media.
- [imageoptim-cli](https://www.automicvault.com/pkg/brew/imageoptim-cli/) - Shares av.db curated category or tags: cli, image-optimization, media.
- [jpeginfo](https://www.automicvault.com/pkg/brew/jpeginfo/) - Shares av.db curated category or tags: cli, jpeg, media.
- [optipng](https://www.automicvault.com/pkg/brew/optipng/) - Shares av.db curated category or tags: cli, image-optimization, media.
- [pngcrush](https://www.automicvault.com/pkg/brew/pngcrush/) - Shares av.db curated category or tags: cli, image-optimization, media.
- [pngnq](https://www.automicvault.com/pkg/brew/pngnq/) - Shares av.db curated category or tags: cli, image-optimization, media.
- [caesiumclt](https://www.automicvault.com/pkg/brew/caesiumclt/) - Both packages work with overlapping file formats or content types. Shared terms: cli, compression, image, image-optimization, lossy.
- [epeg](https://www.automicvault.com/pkg/brew/epeg/) - Both packages work with overlapping file formats or content types. Shared terms: cli, image, jpeg, jpeg-turbo, media.

## Combined YAML source

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