jq
jq is a free command-line tool for filtering and transforming JSON data.
What jq is
jq is a free command-line tool for filtering and transforming JSON data. A jq filter takes an input value and produces output; filters can be combined to select records, access nested attributes, construct objects, or gather results into arrays. It reads whitespace-separated JSON values and writes serialized results, with each expression applied to each input value and potentially producing zero or more outputs. For very large inputs, the --stream option parses incrementally. Output settings include compact, raw, ASCII, sorted-key, and colored forms. jq is implemented in portable C and has no runtime dependencies, and a binary can be copied to another machine of the same type. Standalone executables are offered for Linux, macOS, and Windows, alongside packages for common Linux distributions and package managers. A Docker image is also available. Release binaries have SHA-256 checksums, and release artifacts are signed with jq release keys. The code is MIT-licensed; its documentation uses CC-BY-3.0.
Good
- Free software with MIT-licensed code.
- Filters select, map, and transform JSON data.
- Incremental parsing is available with --stream.
- No runtime dependencies; written in portable C.
- Standalone binaries are available for Linux, macOS, and Windows.
Watch out
- jq is a command-line tool, not a graphical editor.
- Standalone executables are listed only for Linux, macOS, and Windows.
Who it suits
jq suits developers and other command-line users who need to query, filter, or reshape JSON streams. Its incremental parsing option may be useful when working with very large inputs.
Verdict
jq provides focused JSON filtering and transformation through composable command-line filters. Its multiple output options, incremental parsing, and broad package availability make it suitable for command-line data work.
Plans and prices
From jq's own pricing page, checked 2 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| jq | Free | MIT-licensed software · standalone binaries for Linux, macOS, and Windows |
The facts
Each one read from jq's own pages, with the date it was checked.
What it does
- Artifact verification
- Release binaries have SHA-256 checksums and signed release artifacts with jq release keys.checked 1 Oct 2026
- Binary portability
- A single jq binary can be copied to another machine of the same type and run.checked 1 Oct 2026
- Container
- A Docker image is available from GitHub Container Registry.checked 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.checked 2 Oct 2026
- Data operations
- jq can slice, filter, map and transform JSON data.checked 1 Oct 2026
- Distribution
- The download page lists installation through Linux distribution repositories, Homebrew, MacPorts, Fink, winget, Scoop, and Chocolatey.checked 2 Oct 2026
- Filter model
- A jq program is a filter that takes an input and produces an output, and filters can be combined.checked 1 Oct 2026
- Implementation
- jq is written in portable C and has zero runtime dependencies.checked 2 Oct 2026
- Large inputs
- The --stream option parses input incrementally and is useful for very large inputs.checked 1 Oct 2026
- License
- jq code is licensed under the MIT license, while its documentation is licensed under CC-BY-3.0.checked 2 Oct 2026
- Licensing
- jq code is licensed under MIT and its documentation under CC-BY-3.0.checked 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.checked 2 Oct 2026
- Output controls
- jq provides options for compact, raw, ASCII, sorted-key and colored output.checked 1 Oct 2026
- Output format
- JSON values in jq streams are serialized with whitespace separators, so streams can be joined together.checked 2 Oct 2026
- Package integrations
- jq is available through Debian, Ubuntu, Fedora, openSUSE, Arch, Homebrew, MacPorts, Fink, winget, Scoop and Chocolatey.checked 1 Oct 2026
- Purpose
- jq is a lightweight, flexible command-line JSON processor for slicing, filtering, mapping, and transforming structured data.checked 2 Oct 2026
- Release
- The project news page lists jq 1.8.2 as released on June 20, 2026.checked 2 Oct 2026
- Security
- SHA-256 checksums are provided for release and pre-release binaries, and release artifacts are signed by a jq release key.checked 2 Oct 2026
- Security reporting
- The jqlang/jq repository has GitHub private vulnerability disclosure enabled.checked 1 Oct 2026
- Source builds
- jq can be built from source on Linux, macOS, Cygwin and other POSIX-like operating systems.checked 1 Oct 2026
- Streaming
- jq reads whitespace-separated JSON values and writes newline-separated JSON output.checked 1 Oct 2026
- Support
- The project points users to Stack Overflow, the #jq Libera.Chat channel, and its Discord server for questions and discussion.checked 2 Oct 2026
Where it runs
- Desktop platforms
- Official standalone executables are available for Linux, macOS and Windows.checked 1 Oct 2026
- Platforms
- The download page links standalone executables for Linux, macOS, and Windows, and describes building jq for nearly any platform.checked 2 Oct 2026
The full review of jq
Overview
jq is a command-line tool for selecting and reshaping JSON, best suited to people who want repeatable data work in scripts or batch jobs. Its composable filters and portable, dependency-free binaries make it a practical choice for terminal workflows; it is less suited to readers who want a graphical editor.
Each jq expression operates on incoming JSON values and can produce zero, one or several results. That stream-based model works well when you need to extract fields or construct new objects across many inputs, rather than manually editing one document at a time.
jq is implemented in portable C without runtime dependencies, and a binary can be moved to another machine of the same type. The project is the canonical source for the C implementation; its code uses the MIT license, while its documentation uses CC-BY-3.0.
Key features
Composable filters
jq programs are filters, and filters can be combined into a sequence of selection and transformation steps. They can access nested attributes, build objects and collect results into arrays. This makes jq useful for querying and batch processing, but it assumes comfort with a command-line, filter-based approach rather than offering a visual workflow.
Streaming and large inputs
jq reads whitespace-separated JSON values and emits newline-separated JSON output. Each expression runs on each input value, with results serialized as a stream that can be joined together. For very large inputs, the --stream option parses incrementally, reducing the need to treat the entire input as one unit.
Output controls
Options cover compact, raw, ASCII, sorted-key and colored output. These controls let users tailor results for readability or downstream processing without changing the underlying filtering approach.
Deployment and trust
Standalone executables are available for Linux, macOS and Windows, and jq is also distributed through major Linux package repositories, Homebrew, MacPorts, Fink, winget, Scoop and Chocolatey. A Docker image is available from GitHub Container Registry, and source builds are supported on Linux, macOS, Cygwin and other POSIX-like systems. SHA-256 checksums and signed release artifacts provide verification options; the project also enables private vulnerability disclosure on GitHub.
Pricing
jq is free software: the jq plan costs nothing and includes MIT-licensed software with standalone binaries for Linux, macOS and Windows. There is no paid tier or trial to weigh against the free offering. The code is MIT-licensed, while documentation is licensed separately under CC-BY-3.0.
Platforms
jq supports Linux, macOS and Windows, with official standalone executables for all three. Users can also install it through package managers, run its container image, or build from source on POSIX-like systems including Cygwin. The portable binary and lack of runtime dependencies are useful for deployment between machines of the same type, though they do not turn jq into a desktop application.
Who it's for
jq is a strong fit for developers, system administrators and data-oriented users who need to query or transform JSON from the command line, especially across streams or batch inputs. Its composable filters reward users who want repeatable operations that can be combined. If you prefer to inspect and edit JSON through a graphical interface, jq is not the natural first choice.
Pros and cons
- Pros: Composable filters handle selection, nested-field access and reshaping in one workflow, which suits repeatable scripts.
- Pros: Incremental parsing through --stream is useful for very large inputs.
- Pros: No runtime dependencies, broad package availability and standalone binaries make installation and deployment flexible.
- Pros: Checksums and signed release artifacts support binary verification.
- Cons: Its command-line filter model is a poor fit for users seeking a graphical JSON editor.
- Cons: The stream-oriented input and output model may require adjustment for users expecting a single-document editing workflow.
Alternatives
For a broader set of JSON tools, browse JSON Tools or Data Transformation Tools.
- Dadroit JSON Viewer is a better fit when you want a viewer with non-commercial use free, files up to 50 MB and JSON-to-CSV or XML conversion.
- BracketView offers a free plan with uploads up to 5 MB and limits on snapshots, AI actions and webhook endpoints; consider it if those capabilities suit your workflow.
- jsonfmt.dev is a web and API option, with a free API key plan capped at 1,000 requests per month and 100 requests per minute.
- JSONLint includes a macOS Pro app for a one-time 6.99 USD; choose it if a dedicated Mac app better suits your use.
- JSONZen has free web and API tools, including share links up to 32 KB and three locally stored snippets per device; its Pro option costs $1, paid once for 30 days.
- JSON Formatter is a free web option with no sign-up or hard file-size limit, though usable file size depends on your machine.
- POLPROG JSON Formatter is a free web-based alternative.
- JSON Editor is a free web-based alternative.
Verdict
Choose jq if you need a free, portable command-line processor for querying and transforming JSON in repeatable workflows. Its filter model and incremental parsing are its clearest strengths; look elsewhere if you want to edit JSON in a graphical interface rather than build command-line expressions.
Getting started
- Visit https://jqlang.org/ for jq downloads and documentation.
- Install through a Linux distribution repository or a listed package manager such as Homebrew, winget, or Chocolatey.
- Alternatively, use a standalone executable for Linux, macOS, or Windows, or build from source on a supported system.
- Run jq with a filter to process JSON input.
Questions
How much does jq cost?
The listed jq plan is free at no cost.
Which platforms does jq support?
Standalone executables are available for Linux, macOS, and Windows. It can also be built from source on Cygwin and other POSIX-like systems.
Can jq handle very large JSON input?
Its `--stream` option parses input incrementally and is useful for very large inputs.
Is jq open source?
The jq code is licensed under MIT. Its documentation uses the CC-BY-3.0 license.
How can I install jq?
Options include standalone executables, Linux distribution repositories, package managers, a Docker image, or a source build.
Alternatives to jq
- 1

JSONZen
Free planWebAPILinuxmacOS7.6$1 one-time - 2
jaq
Free planOpen sourceWebAPILinuxmacOS7.5Free plan - 3
Dadroit JSON Viewer
Free planWebLinuxmacOSWindows6.9From $98 a year - 4

BracketView
Free planWebLinuxWindows6.7From $27 a year - 5
jidoujisho
Free planAndroid6.6Free plan - 6
JSONBuddy
Free planAPIExtensionWindows6.6$15 one-time
