Download jq
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.
https://download.icu-project.org/files/decNumber/decNumber-icu-368.zip
Linux
-
jq is in the official Debian and Ubuntu repositories. Install using
sudo apt-get install jq
. -
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
.
macOS
-
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.
FreeBSD
-
pkg install jq
as root installs a pre-built binary package. -
make -C /usr/ports/textproc/jq install clean
as root installs the jq port from source.
Solaris
-
pkgutil -i jq
in OpenCSW for Solaris 10+, Sparc and x86.
Windows
-
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
sig/v1.x/*.asc.
The signatures for jq 1.7.1 are in
sig/v1.7.1/*.asc.
The signatures for jq 1.7 are in
sig/v1.7/*.asc.
The signatures for jq 1.6 are in
sig/v1.6/*.asc.
The signatures for jq 1.5 are in
sig/v1.5/*.asc.
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
cd jq
autoreconf -i
./configure
make
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.
Flex and
Bison.
Docker
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
in the 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 docs/README.md
.
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.