Analysis updated 2026-06-20
Extract specific fields from API responses without writing a script, pipe curl output directly into jq to get just the data you need.
Explore and debug JSON config files or log output quickly from the terminal without opening a code editor.
Write deployment or automation shell scripts that transform JSON payloads between tools in a single readable command.
Filter and reshape large JSON data files for quick analysis or to feed into another command-line tool.
| jqlang/jq | mpv-player/mpv | nothings/stb | |
|---|---|---|---|
| Stars | 34,627 | 35,112 | 33,558 |
| Language | C | C | C |
| Setup difficulty | easy | hard | easy |
| Complexity | 2/5 | 4/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Install via package manager: brew install jq (macOS), apt install jq (Linux), or download a single binary for Windows. No dependencies or configuration needed.
jq is a command-line tool for processing and transforming JSON data, in much the same way that tools like grep and sed let you process plain text on the command line. The problem it solves is that JSON has become the universal format for data exchange, API responses, configuration files, log outputs, but it is not designed to be readable or filterable with basic text tools. jq gives you a compact, expressive way to query, reshape, and extract information from JSON without writing a full program. The tool works through a filter language where you write an expression that describes the transformation you want applied to the input JSON. The simplest filters extract fields by name: the expression .version applied to a package.json file returns just the value of the version field. More complex filters can slice arrays, iterate over lists, apply conditional logic, restructure data into entirely new shapes, compute values, and combine multiple transformations in a pipeline. Because jq reads from standard input and writes to standard output, it fits naturally into Unix shell pipelines alongside curl, grep, sort, and other tools. A typical real-world use: you call an API with curl, pipe the raw JSON response into jq with a filter that extracts a specific list of values, and then pipe those values into another tool. What would otherwise require a short Python script becomes a single readable command line. jq is written in C with no runtime dependencies, so it ships as a single small executable available on macOS, Linux, and Windows through most package managers. You would reach for it any time you are working with JSON data in a shell, debugging an API, exploring a data file, writing a deployment script, or processing log output, and want to do it quickly without leaving the terminal.
jq is a lightweight command-line tool that lets you filter, extract, and reshape JSON data using a simple expression language, no programming required. Works seamlessly in shell pipelines alongside curl and grep.
Mainly C. The stack also includes C, JSON, CLI.
MIT license, free to use, modify, and distribute in personal or commercial projects with no restrictions.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.