# Install zxing-cpp with Homebrew, apk, apt, dnf, Nix, pacman, zypper

Multi-format barcode image processing library written in C++. Version 3.1.0 via Homebrew; verified 2026-07-07.

## Install

```sh
sudo av install brew:zxing-cpp
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install zxing-cpp
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add py3-zxing-cpp
```

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

- Debian apt (92%):

```sh
sudo apt install libzxing-dev
```

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

- dnf (92%):

```sh
sudo dnf install python3-zxing-cpp
```

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

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

- pacman (92%):

```sh
sudo pacman -S zxing-cpp
```

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

- zypper (92%):

```sh
sudo zypper install libZXing3
```

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

## Package facts

- **Package key:** brew:zxing-cpp
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/zxing-cpp>
- **Version:** 3.1.0
- **Source summary:** Multi-format barcode image processing library written in C++
- **Homepage:** <https://github.com/zxing-cpp/zxing-cpp>
- **Repository:** <https://github.com/zxing-cpp/zxing-cpp>
- **Upstream docs:** <https://zxing-cpp.github.io/zxing-cpp/docs/latest>
- **License:** Apache-2.0
- **Source archive:** <https://github.com/zxing-cpp/zxing-cpp/releases/download/v3.1.0/zxing-cpp-3.1.0.tar.gz>
- **Last updated:** 2026-07-07T20:35:59Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- ZXingReader (cli)
- ZXingWriter (cli)
- ZXingReader (alias)
- ZXingWriter (alias)

## Build dependencies

- cmake

## 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: 3.1.0
- Package-manager updated: 2026-07-07
- Local data: ok
- Upstream repository: https://github.com/zxing-cpp/zxing-cpp
- info: No cached GitHub release or tag data was available.
## Project history and usage

ZXing-C++ is the actively developed C++ implementation of the ZXing barcode engine, covering multi-format 1D and 2D barcode reading and writing with bindings for native, mobile, scripting, and WebAssembly environments.

### Project history

ZXing itself began as the Java 'Zebra Crossing' barcode library with ports to other languages. ZXing-C++ started as a C++ port of that Java codebase, with public zxing-cpp repository history beginning in 2016 and a 1.0.0 release line by 2018.

The modern project is no longer just a direct port. Its README says it has been developed further with runtime and detection-performance improvements, a pure C++ core, thread safety, read/write support, and wrappers for C, Python, Rust, Go, Qt, Android, iOS, .NET, WebAssembly, WinRT, Kotlin/Native, and other ecosystems. Version 3.0 moved the default writing backend to zint.

### Adoption history

ZXing-C++ became the practical native-package answer for software that wanted ZXing's barcode coverage without embedding a Java runtime. It is packaged by C/C++ dependency managers, operating-system distributions, and language wrappers, and it is used where QR, Data Matrix, PDF417, Aztec, EAN/UPC, Code 128, and related formats must be decoded from images or camera frames.

Its broad wrapper set is the adoption story: one C++ core can serve desktop applications, mobile apps, Python scripts, Rust programs, Qt applications, WebAssembly demos, and command-line workflows. That makes the package a hub for barcode functionality across otherwise separate language ecosystems.

### How it is used

As a library, applications pass image data into ReaderOptions and ReadBarcodes, then inspect Barcode objects for text, format, content type, and position. For generation, callers create barcode objects and write them to images, SVG, or text representations. The package also installs example-style command-line tools such as ZXingReader and ZXingWriter.

### Why package nerds care

ZXing-C++ matters because barcode support is a dependency people discover only when they need it immediately. A maintained native package with many wrappers prevents every app from carrying its own stale ZXing fork, and gives package managers a single high-quality implementation to expose across C++, Python, Rust, Qt, and WebAssembly stacks.

### Timeline

- 2016: Public zxing-cpp git history begins.
- 2018: v1.0.0-era release line establishes the independent C++ package.
- 2023: v2.0.0-era work reflects the project's modern C++ build direction.
- 2026: v3.0.0-era release adopts zint as the default writing backend.

### Related projects

- ZXing: the original Java barcode image-processing library.
- zint: barcode generation library used as the default writing backend since ZXing-C++ 3.0.
- zxing-wasm and other wrappers: downstream packages that expose ZXing-C++ to web and language runtimes.

### Sources

- <https://github.com/Sec-ant/zxing-wasm>
- <https://github.com/zxing-cpp/zxing-cpp>
- <https://github.com/zxing-cpp/zxing-cpp/tree/master/wrappers/python>
- <https://github.com/zxing/zxing>
- <https://zxing-cpp.github.io/zxing-cpp/docs/latest>


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** zxing-cpp
- **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 - libzxing-dev - 2.3.0-4: normalized package name match | Debian stable package indexes: libzxing-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ port of ZXing library (development files) | https://github.com/zxing-cpp/zxing-cpp
- Debian apt - libzxing3 - 2.3.0-4: normalized package name match | Debian stable package indexes: libzxing3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ port of ZXing library (library files) | https://github.com/zxing-cpp/zxing-cpp
- Debian apt - python3-zxing-cpp - 2.3.0-4: normalized package name match | Debian stable package indexes: python3-zxing-cpp from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | C++ port of ZXing library (python3 binding) | https://github.com/zxing-cpp/zxing-cpp
- Debian apt - zxing-cpp-tools - 2.3.0-4: normalized package name match | Debian stable package indexes: zxing-cpp-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Utilities provided by ZXing library | https://github.com/zxing-cpp/zxing-cpp
- Nix - zxing-cpp: normalized package name match | nixpkgs package indexes: pkgs/by-name/zx/zxing-cpp/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libzxing-dev - 2.2.1-3: normalized package name match | Ubuntu 24.04 LTS package indexes: libzxing-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ port of ZXing library (development files) | https://github.com/zxing-cpp/zxing-cpp
- Ubuntu apt - libzxing3 - 2.2.1-3: normalized package name match | Ubuntu 24.04 LTS package indexes: libzxing3 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ port of ZXing library (library files) | https://github.com/zxing-cpp/zxing-cpp
- Ubuntu apt - python3-zxing-cpp - 2.2.1-3: normalized package name match | Ubuntu 24.04 LTS package indexes: python3-zxing-cpp from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | C++ port of ZXing library (python3 binding) | https://github.com/zxing-cpp/zxing-cpp
- Ubuntu apt - zxing-cpp-tools - 2.2.1-3: normalized package name match | Ubuntu 24.04 LTS package indexes: zxing-cpp-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Utilities provided by ZXing library | https://github.com/zxing-cpp/zxing-cpp
- apk - py3-zxing-cpp - 2.3.0-r3: normalized package name match | Alpine Linux edge package indexes: py3-zxing-cpp from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | C++ port of ZXing | https://github.com/zxing-cpp/zxing-cpp
- apk - zxing - 2.3.0-r3: normalized package name match | Alpine Linux edge package indexes: zxing from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | C++ port of ZXing | https://github.com/zxing-cpp/zxing-cpp
- apk - zxing-cpp - 2.3.0-r3: normalized package name match | Alpine Linux edge package indexes: zxing-cpp from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | C++ port of ZXing | https://github.com/zxing-cpp/zxing-cpp
- apk - zxing-cpp-dev - 2.3.0-r3: normalized package name match | Alpine Linux edge package indexes: zxing-cpp-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | C++ port of ZXing (development files) | https://github.com/zxing-cpp/zxing-cpp
- dnf - python3-zxing-cpp - 2.2.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: python3-zxing-cpp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Python bindings for the zxing-cpp barcode library | https://github.com/zxing-cpp/zxing-cpp
- dnf - zxing-cpp - 2.2.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: zxing-cpp from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | C++ port of the ZXing ("Zebra Crossing") barcode scanning library | https://github.com/zxing-cpp/zxing-cpp
- dnf - zxing-cpp-devel - 2.2.1-7.fc45: normalized package name match | Fedora Rawhide package metadata: zxing-cpp-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development files for zxing-cpp | https://github.com/zxing-cpp/zxing-cpp


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [leveldb](https://www.automicvault.com/pkg/brew/leveldb/) - Shares av.db curated category or tags: c-plus-plus, cli, data, library.
- [libgrape-lite](https://www.automicvault.com/pkg/brew/libgrape-lite/) - Shares av.db curated category or tags: c-plus-plus, cli, data, library.
- [libmemcached](https://www.automicvault.com/pkg/brew/libmemcached/) - Shares av.db curated category or tags: c-plus-plus, cli, data, library.
- [xapian](https://www.automicvault.com/pkg/brew/xapian/) - Shares av.db curated category or tags: c-plus-plus, cli, data, library.
- [xerces-c](https://www.automicvault.com/pkg/brew/xerces-c/) - Shares av.db curated category or tags: c-plus-plus, cli, data, library.
- [bzip2](https://www.automicvault.com/pkg/brew/bzip2/) - Shares av.db curated category or tags: cli, data, library.
- [gdbm](https://www.automicvault.com/pkg/brew/gdbm/) - Shares av.db curated category or tags: cli, data, library.
- [kyoto-cabinet](https://www.automicvault.com/pkg/brew/kyoto-cabinet/) - Shares av.db curated category or tags: cli, data, library.
- [libkiwix](https://www.automicvault.com/pkg/brew/libkiwix/) - Local package facts share a topical domain. Shared terms: cli, code, cpp, data, library.
- [benthos](https://www.automicvault.com/pkg/brew/benthos/) - Local package facts share a topical domain. Shared terms: cli, data, processing, written.

## Combined YAML source

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