# Install jpeg with Homebrew, apk, MacPorts, zypper

Image manipulation library. Version 10 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:jpeg
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install jpeg
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install jpeg
```

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

### Linux

- apk (92%):

```sh
sudo apk add jpeg
```

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

- zypper (92%):

```sh
sudo zypper install libjpeg-turbo
```

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

## Package facts

- **Package key:** brew:jpeg
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/jpeg>
- **Version:** 10
- **Source summary:** Image manipulation library
- **Homepage:** <https://www.ijg.org/>
- **Upstream docs:** <https://www.ijg.org/>
- **License:** IJG
- **Source archive:** <https://www.ijg.org/files/jpegsrc.v10.tar.gz>
- **Generated:** 2026-07-10T07:20:53+00:00

## Executables

- cjpeg (cli)
- djpeg (cli)
- jpegtran (cli)
- rdjpgcom (cli)
- wrjpgcom (cli)
- cjpeg (alias)
- djpeg (alias)
- jpegtran (alias)
- rdjpgcom (alias)
- wrjpgcom (alias)

## 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-10
- Package-manager version: 10
- Local data: ok
- Upstream repository: https://www.ijg.org/
- info: No package-manager update timestamp was available.
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

The Homebrew `jpeg` formula represents the Independent JPEG Group's libjpeg software, one of the classic Unix image libraries behind JPEG encoding, decoding, and transformation tools. IJG describes itself as an informal group that writes and distributes a widely used free JPEG compression library, with the first version released on 7 October 1991.

### Project history

IJG's package grew around a portable C implementation of the JPEG standard, plus command-line tools such as `cjpeg`, `djpeg`, `jpegtran`, `rdjpgcom`, and `wrjpgcom`. Its README emphasizes portability, flexibility, and industrial-strength reuse rather than tutorial code, which explains why libjpeg became infrastructure rather than just a sample implementation.

The package also became a baseline for later JPEG implementations and forks. libjpeg-turbo maintains a reference repository of IJG code for comparison and benchmarking, while the IJG reference site frames libjpeg as the technical basis of a media format that remains massively deployed.

### Adoption history

IJG libjpeg spread because it gave Unix, desktop, and embedded software a royalty-free way to read and write JPEG files. Package managers expose both the library and its small CLI utilities, making it a dependency of image viewers, converters, web tooling, and batch-processing scripts.

The 6b ABI became especially important in distribution culture because many downstream projects and alternative implementations, including libjpeg-turbo and mozjpeg-compatible builds, preserved or targeted that interface.

### How it is used

`cjpeg` and `djpeg` convert between JPEG and other image formats, `jpegtran` performs lossless transforms and transcoding, and `rdjpgcom`/`wrjpgcom` handle textual comments. Developers also link against libjpeg directly when adding JPEG support to applications.

### Why package nerds care

For package maintainers, IJG JPEG is a canonical example of a tiny-looking formula that underpins a huge dependency graph. Its ABI history explains why distributions often care about which JPEG implementation satisfies `libjpeg` and why compatibility with IJG behavior still matters decades after the format became ordinary.

### Timeline

- 1991-10-07: IJG released the first version of its JPEG software.
- 1998-03-27: IJG release 6b established a long-lived compatibility target for downstream libraries and tools.
- 2024: The IJG reference site marked JPEG's 33rd anniversary and described ongoing libjpeg development.
- 2026-01-25: IJG release 10 was published.

### Related projects

- Related projects include libjpeg-turbo, mozjpeg, JPEG Club's IJG reference material, and the many CLI tools that build on libjpeg-compatible APIs.

### Sources

- <https://github.com/libjpeg-turbo/ijg>
- <https://jpegclub.org/reference/>
- <https://www.ijg.org/>


## Security Notes

No matching local secret-handling manifest was found for jpeg. Nucleus package metadata is still published here so future coverage has a stable package URL.


## Source Database Details

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

## Other Package-Manager Records

- apk - jpeg - 9f-r0: normalized package name match | Alpine Linux edge package indexes: jpeg from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Wrapper for libjpeg-turbo | https://www.ijg.org/
- apk - jpeg-dev - 9f-r0: normalized package name match | Alpine Linux edge package indexes: jpeg-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Wrapper for libjpeg-turbo-dev | https://www.ijg.org/
- apk - libjpeg - 9f-r0: normalized package name match | Alpine Linux edge package indexes: libjpeg from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Wrapper for libjpeg-turbo | https://www.ijg.org/
- zypper - libjpeg-turbo - 3.1.4.1-83.2: normalized package name match | openSUSE Tumbleweed package metadata: libjpeg-turbo from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | A SIMD-accelerated library for manipulating JPEG image files | https://libjpeg-turbo.org/
- MacPorts - jpeg: normalized package name match | MacPorts ports tree: graphics/jpeg/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [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.
- [jpegtran-bin](https://www.automicvault.com/pkg/npm/jpegtran-bin/) - Executable or command metadata overlaps with this package. Shared terms: image, jpeg, jpegtran.
- [jpeg-archive](https://www.automicvault.com/pkg/brew/jpeg-archive/) - Both packages work with overlapping file formats or content types. Shared terms: image, jpeg.
- [jpeg-turbo](https://www.automicvault.com/pkg/brew/jpeg-turbo/) - Both packages work with overlapping file formats or content types. Shared terms: image, jpeg.

## Combined YAML source

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


## Sources

- Nucleus package database
- package-page enrichment
- curated package history
- package version freshness
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
