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

Yet Another JSON Library. Version 2.1.0 via Homebrew; verified 2026-07-05.

## Install

```sh
sudo av install brew:yajl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install yajl
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install yajl
```

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

### Linux

- apk (92%):

```sh
sudo apk add yajl
```

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

- Debian apt (92%):

```sh
sudo apt install libyajl-dev
```

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

- dnf (92%):

```sh
sudo dnf install yajl
```

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

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

- pacman (92%):

```sh
sudo pacman -S yajl
```

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

- zypper (92%):

```sh
sudo zypper install yajl
```

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

## Package facts

- **Package key:** brew:yajl
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/yajl>
- **Version:** 2.1.0
- **Source summary:** Yet Another JSON Library
- **Homepage:** <https://lloyd.github.io/yajl/>
- **Repository:** <https://github.com/lloyd/yajl>
- **Upstream docs:** <https://github.com/lloyd/yajl#readme>
- **License:** ISC
- **Source archive:** <https://github.com/lloyd/yajl/archive/refs/tags/2.1.0.tar.gz>
- **Last updated:** 2026-07-05T05:49:06Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- json_reformat (cli)
- json_verify (cli)
- json_reformat (alias)
- json_verify (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: 2.1.0
- Package-manager updated: 2026-07-05
- Local data: ok
- Upstream repository: https://github.com/lloyd/yajl
- Upstream latest detected: 2.1.0 (current)
## Project history and usage

YAJL, Yet Another JSON Library, is a small event-driven JSON parser and generator written in ANSI C. Its historical niche is streaming JSON: parsing incrementally from files, sockets, or filters without forcing callers into one in-memory tree representation.

### Project history

Lloyd Hilaiel's README dates the original motivation to July 2007: existing C JSON parsers did not meet his requirements for portability, robustness, useful contextual errors, incremental stream parsing, simplicity, speed, and small size. That origin explains why YAJL is callback-driven and data-representation independent rather than centered on a single DOM-like tree type.

The public GitHub repository was created in December 2008. YAJL 2 later became the main line, while the repository points legacy users to the 1.x branch. The project site publishes generated Doxygen documentation for both v2.1.0 and the previous stable v1.0.12 line.

### Adoption history

YAJL spread because C programs and language bindings needed a permissively licensed JSON parser that could handle large inputs, streaming data, and low-memory environments. The project site explicitly lists sample command-line tools, `json_reformat` and `json_verify`, which made the library visible to users who needed JSON validation or pretty-printing without writing C code.

Its package-manager footprint is typical of infrastructure libraries: many users encounter it indirectly through bindings, older applications, or distribution dependencies, while maintainers care about ABI stability, small binaries, and predictable parser behavior.

### How it is used

Programmatic users register callbacks for JSON events, feed buffers to the parser, and build whatever in-memory representation their application wants. The generator side emits valid JSON, and the included tools reformat or verify JSON from the shell.

YAJL is especially useful where JSON arrives as a stream or where holding both the textual input and a full parsed tree would waste memory. Its design is less convenient than a high-level JSON object library, but that is the point: it is a parser core and filter substrate.

### Why package nerds care

YAJL is package-nerd infrastructure from the early JSON boom: tiny C, callback API, command-line validators, and enough portability to show up across Unix-like distributions. It is a good example of a library whose significance is larger than its own CLI because it sits below many higher-level language bindings and tools.

### Timeline

- 2007-07: The README's original note explains the requirements that led Lloyd Hilaiel to create YAJL.
- 2008-12: The public GitHub repository was created.
- 2014-03: The 2.1.0 tag was committed, matching the version documented on the project site.
- YAJL 2 era: The README identifies YAJL 2 as the main line and keeps the 1.x branch for legacy users.

### Related projects

- YAJL belongs with other C JSON libraries such as jansson and json-c, but differs by emphasizing SAX-style incremental parsing. Bindings such as yajl-ruby expose the same parser to higher-level languages.

### Sources

- <https://api.github.com/repos/lloyd/yajl>
- <https://github.com/lloyd/yajl>
- <https://github.com/lloyd/yajl/blob/master/README>
- <https://lloyd.github.io/yajl/>


## 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:** yajl
- **Version Scheme:** 0
- **Revision:** 1
- **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 - libyajl-dev - 2.1.0-5+b2: normalized package name match | Debian stable package indexes: libyajl-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Yet Another JSON Library - development files | https://lloyd.github.io/yajl/
- Debian apt - libyajl-doc - 2.1.0-5: normalized package name match | Debian stable package indexes: libyajl-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Yet Another JSON Library - library documentation | https://lloyd.github.io/yajl/
- Debian apt - libyajl2 - 2.1.0-5+b2: normalized package name match | Debian stable package indexes: libyajl2 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Yet Another JSON Library | https://lloyd.github.io/yajl/
- Debian apt - yajl-tools - 2.1.0-5+b2: normalized package name match | Debian stable package indexes: yajl-tools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Yet Another JSON Library - tools | https://lloyd.github.io/yajl/
- Nix - yajl: normalized package name match | nixpkgs package indexes: pkgs/by-name/ya/yajl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - libyajl-dev - 2.1.0-5build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libyajl-dev from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Yet Another JSON Library - development files | https://lloyd.github.io/yajl/
- Ubuntu apt - libyajl-doc - 2.1.0-5build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libyajl-doc from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Yet Another JSON Library - library documentation | https://lloyd.github.io/yajl/
- Ubuntu apt - libyajl2 - 2.1.0-5build1: normalized package name match | Ubuntu 24.04 LTS package indexes: libyajl2 from https://archive.ubuntu.com/ubuntu/dists/noble/main/binary-amd64/Packages.gz | Yet Another JSON Library | https://lloyd.github.io/yajl/
- Ubuntu apt - yajl-tools - 2.1.0-5build1: normalized package name match | Ubuntu 24.04 LTS package indexes: yajl-tools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | Yet Another JSON Library - tools | https://lloyd.github.io/yajl/
- apk - yajl - 2.1.0-r9: normalized package name match | Alpine Linux edge package indexes: yajl from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Yet Another JSON Library (YAJL) | https://lloyd.github.io/yajl/
- apk - yajl-dev - 2.1.0-r9: normalized package name match | Alpine Linux edge package indexes: yajl-dev from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Yet Another JSON Library (YAJL) (development files) | https://lloyd.github.io/yajl/
- apk - yajl-static - 2.1.0-r9: normalized package name match | Alpine Linux edge package indexes: yajl-static from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | Yet Another JSON Library (YAJL) (static library) | https://lloyd.github.io/yajl/
- apk - yajl-tools - 2.1.0-r9: normalized package name match | Alpine Linux edge package indexes: yajl-tools from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | JSON tools based on Yajl | https://lloyd.github.io/yajl/
- dnf - yajl - 2.1.0-40.fc45: normalized package name match | Fedora Rawhide package metadata: yajl from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Yet Another JSON Library (YAJL) | http://lloyd.github.com/yajl/
- dnf - yajl-devel - 2.1.0-40.fc45: normalized package name match | Fedora Rawhide package metadata: yajl-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Libraries, includes, etc to develop with YAJL | http://lloyd.github.com/yajl/
- pacman - yajl - 2.1.0-7: normalized package name match | Arch Linux sync databases: yajl from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Yet Another JSON Library | https://github.com/lloyd/yajl


## 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.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [cmake](https://www.automicvault.com/pkg/brew/cmake/) - Build dependency declared by Homebrew.
- [kcat](https://www.automicvault.com/pkg/brew/kcat/) - Popular package that depends on this formula.
- [modsecurity](https://www.automicvault.com/pkg/brew/modsecurity/) - Popular package that depends on this formula.
- [hjson](https://www.automicvault.com/pkg/brew/hjson/) - Shares av.db curated category or tags: cli, data-format, developer-tools, json.
- [json5](https://www.automicvault.com/pkg/brew/json5/) - Shares av.db curated category or tags: cli, data-format, developer-tools, json.
- [libfyaml](https://www.automicvault.com/pkg/brew/libfyaml/) - Shares av.db curated category or tags: c-library, cli, developer-tools, json, parser.
- [libwbxml](https://www.automicvault.com/pkg/brew/libwbxml/) - Shares av.db curated category or tags: cli, data-format, developer-tools, parser.
- [xmq](https://www.automicvault.com/pkg/brew/xmq/) - Shares av.db curated category or tags: cli, data-format, developer-tools, json.
- [expat](https://www.automicvault.com/pkg/brew/expat/) - Shares av.db curated category or tags: c-library, cli, developer-tools, parser.
- [hoedown](https://www.automicvault.com/pkg/brew/hoedown/) - Shares av.db curated category or tags: c-library, cli, developer-tools, parser.
- [jshon](https://www.automicvault.com/pkg/brew/jshon/) - Shares av.db curated category or tags: cli, developer-tools, json, parser.

## Combined YAML source

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