
jq
CLILightweight command-line JSON processor that slices, filters, maps and transforms JSON with concise expressions and no runtime dependencies. A staple for agents parsing API responses and logs.
jq
jq is a lightweight and flexible command-line JSON processor akin to sed,awk,grep, and friends for JSON data. It's written in portable C and has zero runtime dependencies, allowing you to easily slice, filter, map, and transform structured data.
Documentation
- Official Documentation: jqlang.org
- Try jq Online: play.jqlang.org
Installation
Prebuilt Binaries
Download the latest releases from the GitHub release page.
The platform-specific assets are standalone executables, not archives. On macOS and Linux,
rename the downloaded file to jq and make it executable with chmod +x jq.
Docker Image
Pull the jq image to start quickly with Docker.
Run with Docker
Example: Extracting the version from a package.json file
docker run --rm -i ghcr.io/jqlang/jq:latest < package.json '.version'
Example: Extracting the version from a package.json file with a mounted volume
docker run --rm -i -v "$PWD:$PWD" -w "$PWD" ghcr.io/jqlang/jq:latest '.version' package.json
Building from source
Dependencies
- libtool
- make
- automake
- autoconf
Instructions
git submodule update --init # if building from git to get oniguruma
autoreconf -i # if building from git
./configure --with-oniguruma=builtin
make clean # if upgrading from a version previously built from source
make -j8
make check
sudo make install
Build a statically linked version:
make LDFLAGS=-all-static
If you're not using the latest git version but instead building a released tarball (available on the release page), skip the autoreconf step, and flex or bison won't be needed.
Cross-Compilation
For details on cross-compilation, check out the GitHub Actions file and the cross-compilation wiki page.
Community & Support
- Questions & Help: Stack Overflow (jq tag)
- Chat & Community: Join us on Discord
- Wiki & Advanced Topics: Explore the Wiki
License
jq is released under the MIT License. jq's documentation is
licensed under the Creative Commons CC BY 3.0.
jq uses parts of the open source C library "decNumber", which is distributed
under ICU License
関連リソース

dasel
CLIQuery, modify and convert JSON, YAML, TOML, XML, CSV, HCL, INI and more with one selector syntax, editing config files in place or converting between formats, handy for agents handling structured data in scripts. A single dependency-free binary that works much like jq or yq.
TomWright/dasel8k
yq
CLILightweight command-line processor with jq-like syntax for reading, modifying and converting YAML, JSON, XML, INI, CSV and more, including in-place config edits. A single dependency-free Go binary.
mikefarah/yq16.1k
jc
CLIConverts the output of 100+ commands such as dig, ps, ls and ifconfig, plus common file formats, into JSON so agents can parse it reliably with jq or scripts. Also usable as a Python library.
kellyjonbrazil/jc8.7k
Miller
CLIProcesses CSV, TSV, JSON and other structured data like awk, sed, cut, join and sort, but by field name, for cleaning, aggregation, format conversion and pretty-printing. The command is mlr; written in Go with no runtime dependencies.
johnkerl/miller10k
Claude Code
CLIAnthropic's terminal coding agent: understands your codebase, edits code, runs commands and handles git workflows, with plugins, MCP and a headless mode (claude -p). Sign in with a Claude account or set an API key.
anthropics/claude-code151k
Codex CLI
CLIOpenAI's coding agent that runs locally, written in Rust: reads and writes code and runs commands inside an OS-level sandbox. Sign in with a ChatGPT plan or use an API key.
openai/codex130k