jq is written in C and has no runtime dependencies, so it should be possible to build it for nearly any platform. Prebuilt binaries are available for Linux, macOS and Windows.
The binaries should just run, but on macOS and Linux you may need
to make them executable first using
chmod +x jq.
jq is licensed under the MIT license. For all of the gory
details, read the file
COPYING in the source distribution.
jq uses a C library for decimal number support. This is an ICU 1.8.1
licensed code obtained from the ICU downloads archive.
jq is in the official Fedora repository. Install using
sudo dnf install jq.
jq is in the official openSUSE repository. Install using
sudo zypper install jq.
jq is in the official Arch repository. Install using
sudo pacman -S jq.
Use Homebrew to install jq with
brew install jq.
Use MacPorts to install jq with
port install jq.
Use Fink to install jq with
fink install jq.
jq 1.6 binary for AMD64.
jq 1.5 binary for AMD64.
pkg install jqas root installs a pre-built binary package.
pkgutil -i jqin OpenCSW for Solaris 10+, Sparc and x86.
Use winget to install jq with
winget install jqlang.jq.
Use scoop to install jq with
scoop install jq.
Use Chocolatey NuGet to install jq with
choco install jq.
Checksums and signatures
SHA-256 checksums are provided for all release and pre-release binaries. They can be found under sig/v1.x/sha256sum.txt. The checksums for jq 1.7.1 are in sig/v1.7.1/sha256sum.txt. The checksums for jq 1.7 are in sig/v1.7/sha256sum.txt. The checksums for jq 1.6 are in sig/v1.6/sha256sum.txt. The checksums for jq 1.5 are in sig/v1.5/sha256sum.txt.
Additionally, all release artifacts are signed by a jq release key. We have two release keys, one for 1.6 and older releases, and one for 1.7 and newer releases.
Signatures can be found under
The signatures for jq 1.7.1 are in
The signatures for jq 1.7 are in
The signatures for jq 1.6 are in
The signatures for jq 1.5 are in
You can use GnuPG to verify a signature by downloading
the signature and running
gpg --verify signature.asc.
From source on Linux, macOS, Cygwin, and other POSIX-like operating systems
- Source tarball for jq 1.7.1
- Source tarball for jq 1.7
- Source tarball for jq 1.6
- Source tarball for jq 1.5
You can build it using the usual
./configure && make && sudo
make install rigmarole.
If you're interested in using the latest development version, try:
git clone --recursive https://github.com/jqlang/jq.git
sudo make install
To build it from a git clone, you'll need to install a few packages first:
For Linux systems, these will all be in your system's package manager, and if you do development on the machine they're most likely already installed.
On macOS, these are all included in Apple's command line tools, which can be installed from Xcode. However, you may find that you need a newer version of Bison than the one provided by Apple. This can be found in Homebrew or MacPorts.
If you want to generate the lexer and parser from source you can use the
--enable-maintainer-mode configure flag. This requires bison to be installed.
Docker image is available from GitHub Container Registry.
docker run -i --rm ghcr.io/jqlang/jq -n 'range(3)'
Building the documentation
jq's documentation is compiled into static HTML using Python.
To build the docs, run
pipenv run python3 build_website.py --root /output
docs/ directory. To serve them locally, you can run
python3 -m http.server. You'll need a few Python dependencies,
which can be installed by following the instructions in
The man page is built by
make jq.1, or just
make, also from
the YAML docs, and you'll still need the Python dependencies to
build the manpage.