Saturday, October 24, 2026 4,350 lists 78,096 records on file
List your app or device

  1. Home
  2. JSON Tools
  3. jq

jq

What it is

jq is a free command-line tool for processing JSON. It applies filters to select values, inspect nested attributes, build objects, collect results into arrays or transform data. A filter takes an input and produces output, and multiple filters can be combined. jq reads whitespace-separated JSON values and writes serialized output; each expression can produce zero or more results for an input. For very large inputs, its --stream option parses incrementally. Output controls include compact, raw, ASCII, sorted-key and colored formats. jq is written in portable C without runtime dependencies, and a standalone binary can be copied to another machine of the same type. Executables are available for Linux, macOS and Windows, with packages also listed through Linux distributions and package managers. A Docker image is available. Release binaries have SHA-256 checksums, and signed release artifacts use jq release keys. The code is MIT-licensed, while the documentation is under CC-BY-3.0.

For and against

For

  • Free software with no runtime dependencies.
  • Filters select, build and transform JSON data.
  • Incremental parsing is available through --stream.
  • Standalone executables cover Linux, macOS and Windows.

Against

  • It is a command-line tool.
  • The standalone binary is for the same machine type.
  • Documentation uses a separate CC-BY-3.0 license.

The verdict

jq provides composable filters and output controls for command-line JSON processing. Its portable implementation and platform packages offer multiple installation routes.

Who it suits

jq suits developers and other command-line users who need to query or transform JSON streams. Its incremental parsing option may help with very large inputs.

Plans and prices

jq

Free

MIT-licensed software · standalone binaries for Linux, macOS, and Windows

Every plan, in full

On the record

Artifact verification
Release binaries have SHA-256 checksums and signed release artifacts with jq release keys.jqlang.org · read 1 Oct 2026
Binary portability
A single jq binary can be copied to another machine of the same type and run.jqlang.org · read 1 Oct 2026
Container
A Docker image is available from GitHub Container Registry.jqlang.org · read 2 Oct 2026
Data handling
jq processes streams of JSON values, with each expression running on each input value and producing zero or more outputs.jqlang.org · read 2 Oct 2026
Data operations
jq can slice, filter, map and transform JSON data.jqlang.org · read 1 Oct 2026
Desktop platforms
Official standalone executables are available for Linux, macOS and Windows.jqlang.org · read 1 Oct 2026
Distribution
The download page lists installation through Linux distribution repositories, Homebrew, MacPorts, Fink, winget, Scoop, and Chocolatey.jqlang.org · read 2 Oct 2026
Filter model
A jq program is a filter that takes an input and produces an output, and filters can be combined.jqlang.org · read 1 Oct 2026
Implementation
jq is written in portable C and has zero runtime dependencies.jqlang.org · read 2 Oct 2026
Large inputs
The --stream option parses input incrementally and is useful for very large inputs.jqlang.org · read 1 Oct 2026
License
jq code is licensed under the MIT license, while its documentation is licensed under CC-BY-3.0.jqlang.org · read 2 Oct 2026
Licensing
jq code is licensed under MIT and its documentation under CC-BY-3.0.jqlang.org · read 1 Oct 2026
Maintainers
The jqlang organization says it is the canonical source for the C implementation of jq and that new maintainers were recruited.github.com · read 2 Oct 2026
Output controls
jq provides options for compact, raw, ASCII, sorted-key and colored output.jqlang.org · read 1 Oct 2026
Output format
JSON values in jq streams are serialized with whitespace separators, so streams can be joined together.jqlang.org · read 2 Oct 2026
Package integrations
jq is available through Debian, Ubuntu, Fedora, openSUSE, Arch, Homebrew, MacPorts, Fink, winget, Scoop and Chocolatey.jqlang.org · read 1 Oct 2026
Purpose
jq is a lightweight, flexible command-line JSON processor for slicing, filtering, mapping, and transforming structured data.jqlang.org · read 2 Oct 2026
Release
The project news page lists jq 1.8.2 as released on June 20, 2026.jqlang.org · read 2 Oct 2026

The review

Overview

jq is a command-line tool for turning JSON into the particular data a task needs. It suits developers and other terminal users who want a reusable way to query or reshape JSON, especially in scripts and batch workflows. Its strongest case is the combination of composable filters, stream handling and a portable, dependency-free binary; it is less suited to readers looking for a visual JSON editor.

Key features

Filters that combine

A jq program takes an input value and emits zero or more results. Filters can be composed to select data, reach into nested attributes, construct objects and collect results into arrays. That model is a practical strength for repeatable transformations: one expression can both find the relevant values and shape the output, rather than requiring a separate application for each step. The same flexibility puts the burden on the user to express the desired operation as a filter.

Streams and large inputs

jq reads whitespace-separated JSON values and writes newline-separated output, applying the expression to each input value. Results can therefore be handled as a stream rather than requiring one output document. For very large inputs, the --stream option parses incrementally, which makes it the relevant choice when processing the whole input at once is a concern.

Output and portability

Options cover compact, raw, ASCII, sorted-key and colored output, giving terminal users control over whether results are concise, readable or suited to downstream handling. The implementation is portable C with no runtime dependencies, and a standalone binary can be moved to another machine of the same type. This makes jq a strong fit for environments where a small, self-contained command-line utility is preferable to a larger application.

Official standalone executables are provided for Linux, macOS and Windows, alongside package routes including Debian, Ubuntu, Fedora, openSUSE, Arch, Homebrew, MacPorts, Fink, winget, Scoop and Chocolatey. A Docker image is available through GitHub Container Registry, and source builds are supported on Linux, macOS, Cygwin and other POSIX-like systems. Release artifacts have SHA-256 checksums and signed release files. jq also supports schema validation, querying and batch processing.

Pricing

jq is free: its plan costs free and includes MIT-licensed software with standalone binaries for Linux, macOS and Windows. There is no paid tier to trade features against or trial period to evaluate; the project directs users with questions to Stack Overflow, the jq tag, Libera.Chat and Discord. The code is MIT-licensed, while the documentation uses CC-BY-3.0.

Platforms

jq supports Linux, macOS and Windows, with official standalone executables for all three. Distribution packages broaden installation choices, while source builds cover Cygwin and other POSIX-like systems. A Docker image is another option for container workflows. The same-type requirement for copied binaries is worth keeping in mind: portability does not mean a binary can be moved indiscriminately between different machine types.

Who it's for

jq is the right choice for people comfortable working in a terminal who need to query, filter or transform JSON in repeatable workflows. Its stream model and incremental parsing option are especially relevant to batch work and very large inputs, while the binary's lack of runtime dependencies helps where deployment simplicity matters. Readers who want to inspect or edit JSON through a visual interface should look to a viewer or editor instead.

Pros and cons

  • Composable filters: selection, nested access, object construction and array collection can be combined in one JSON-processing program.
  • Stream-aware processing: whitespace-separated inputs and newline-separated outputs suit repeated values, and --stream parses very large inputs incrementally.
  • Portable deployment: portable C, zero runtime dependencies and same-type binary copying reduce the need for a larger runtime environment.
  • Many installation paths: standalone executables, package managers, source builds and a Docker image accommodate varied setups.
  • Terminal-first approach: users seeking a visual editor will need a different kind of tool.

Alternatives

For a free Android option, consider jidoujisho. Choose JSONBuddy if a Windows tool with a free personal or educational perpetual license and free minor updates better fits your needs. BracketView offers a Linux, web and Windows alternative with a free tier that includes uploads up to 5 MB, five encrypted snapshots per month, 20 AI actions per month and three webhook endpoints with 25 requests each.

Dadroit JSON Viewer has a free non-commercial plan for opening files up to 50 MB and converting JSON to CSV or XML; its Standard plan costs $98 per y. Choose JSON Crack for a free open-source online tool, with an approximate 300 KB limit that depends on data complexity and hardware. JSON Editor is a free MIT-licensed JavaScript library for self-hosted or web use that requires a modern browser.

jsonfmt.dev is an API and web option whose free API key allows 100 requests per minute and 1,000 requests per month. JSONZen offers a free plan with 32 KB share links, three locally stored snippets per device and included tools.

Browse more options in JSON Tools or Data Transformation Tools.

Verdict

Choose jq if you want a free, portable command-line processor for composing JSON queries and transformations, including stream-oriented and large-input work. Its principal advantage is that capable filter-based processing comes in a dependency-free tool with broad installation options. Look elsewhere if a visual interface is central to how you want to work.

Alternatives to jq

Every alternative, ranked