jaq
jaq is a free, MIT-licensed tool for querying and transforming data with jq filters.
What jaq is
jaq is a free, MIT-licensed tool for querying and transforming data with jq filters. It works as a command-line replacement for jq and as a Rust library for compiling and running jq programs. Alongside JSON, it supports YAML, CBOR, TOML, XML, CSV, and TSV, and can convert between those formats while applying a filter. The jaq-core library can be used in multithreaded environments and handles data types beyond JSON. jaq also supports arbitrary values as object keys and strings containing arbitrary bytes, including invalid UTF-8. The project publishes benchmarks comparing jaq with jq and gojq and reports faster results on many benchmarks. Its stated security properties include memory safety and preventing input data or filters from initiating I/O, except filters may read files before execution. However, jaq does not limit resource use, so processing may consume unlimited time, memory, or stack space. The project says its core underwent two security audits and that all reported issues were addressed. Binary downloads and installation instructions are available for Linux, macOS, and Windows, and an online playground lets users try it.
Good
- Handles JSON, YAML, CBOR, TOML, XML, CSV, and TSV.
- Converts formats while applying jq filters.
- Provides both a command-line tool and Rust library.
- Supports arbitrary byte strings and object-key values.
- Offers Linux, macOS, and Windows downloads.
Watch out
- Processing has no limits on time or memory use.
- Filters may read files before execution.
- It is a command-line tool and library, not a listed graphical app.
Who it suits
jaq suits developers and data users who work with jq filters and need a command-line tool or Rust library. Its support for several formats may suit workflows that transform data beyond JSON.
Verdict
jaq combines jq-style transformation with broader format support and a Rust library. Its unbounded resource use is an important consideration when processing data or filters you do not trust.
Plans and prices
From jaq's own pricing page, checked 4 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| jaq | Free | MIT-licensed open-source command-line program and Rust library |
| jaq open-source release | Free | MIT licence · command-line binary and Rust crates · Linux, macOS and Windows binaries |
The facts
Each one read from jaq's own pages, with the date it was checked.
What it does
- API halt handling
- Version 3.1 lets callers handle halt from filters through the jaq API instead of forcibly terminating the process.checked 15 Oct 2026
- Arch distribution
- Arch Linux packages jaq 3.1.1-1 for x86_64 in its Extra repository.checked 15 Oct 2026
- CLI and library
- jaq is both a command-line jq replacement and a Rust library for compiling and running jq programs.checked 4 Oct 2026
- Conversions
- It can convert data between supported formats while transforming it with a jq filter.checked 4 Oct 2026
- CSV and TSV
- Version 3.0 added CSV and TSV format support.checked 15 Oct 2026
- Custom data types
- jaq-core can process data types beyond JSON and supports embedding application-defined values through its ValT trait.checked 15 Oct 2026
- Distribution conflict
- Homebrew warns that jaq conflicts with json2tsv because both install binaries named jaq.checked 15 Oct 2026
- Downloads
- The project provides binary downloads for Linux, Mac, and Windows, and documents installation via Homebrew and Cargo.checked 4 Oct 2026
- Extra value support
- jaq supports arbitrary values as object keys and can process strings containing arbitrary bytes, including invalid UTF-8.checked 4 Oct 2026
- Filters
- The project adds filters including path-related operations, format conversion functions, tobytes, toboolean, @htmld and halt/1.checked 15 Oct 2026
- Formats
- It supports JSON, YAML, CBOR, TOML, XML, CSV, and TSV data formats.checked 4 Oct 2026
- Funding
- The project acknowledges NLnet grants funded through NGI0 Entrust and NGI0 Commons, with additional support from the Swiss State Secretariat for Education, Research and Innovation.checked 15 Oct 2026
- Homebrew distribution
- Homebrew provides jaq 3.1.1 bottles for Apple Silicon and Intel macOS plus ARM64 and x86_64 Linux.checked 15 Oct 2026
- Independent ecosystem scale
- Market.dev lists jaq as an active MIT-licensed Rust project with about 2.6 million downloads and 3.7 thousand stars.checked 15 Oct 2026
- Independent performance research
- A peer-reviewed research paper reports jaq faster than jq on ten of thirteen benchmarks.checked 15 Oct 2026
- Installation
- Prebuilt binaries are offered for Linux, macOS and Windows, and source installation uses Cargo with a Rust toolchain.checked 15 Oct 2026
- JSON compatibility
- The project is intended as a drop-in jq replacement and aims to preserve jq compatibility in most cases.checked 15 Oct 2026
- Latest documented release
- Docs.rs lists jaq 3.1.1 as released on 5 August 2026.checked 15 Oct 2026
- Library safety
- The jaq-core library can be used in multithreaded environments and supports data types beyond JSON.checked 4 Oct 2026
- Licence
- The GitHub repository and package distributors identify jaq as MIT-licensed.checked 15 Oct 2026
- License
- The project repository identifies jaq as MIT-licensed.checked 4 Oct 2026
- Manual
- jaq provides its own reference manual with nearly 500 automatically tested examples and a man page.checked 15 Oct 2026
The company
- Maker
- The GitHub account identifies the maintainer as Michael Färber, a computer-science PhD focused on logic and automated reasoning.checked 15 Oct 2026
- Maker location
- Michael Färber's GitHub profile lists Innsbruck as his location.checked 15 Oct 2026
The full review of jaq
jaq is a free jq-style processor for command-line users and Rust developers working with structured data. It is best suited to pipelines that need more than JSON or applications that embed jq programs. Its breadth is compelling, but workloads involving untrusted inputs or filters need external resource limits.
Overview
jaq is an open-source jq clone that prioritizes correctness, speed, and simplicity. It pairs a command-line replacement for jq with a Rust library for compiling and running jq programs, making it relevant both to shell-based data work and Rust applications.
That combination is a practical distinction: users can apply familiar jq-style transformations at the command line, while Rust developers can build the same kind of processing into their software. The project describes jaq as memory-safe, and says neither input data nor filters can initiate I/O, though filters may read files before execution.
Key features
jaq works with JSON, YAML, CBOR, TOML, XML, CSV, and TSV. It can transform data with a jq filter while converting between supported formats, reducing the need to split format conversion and querying into separate steps. This makes it a strong fit for developers handling varied structured-data pipelines; it is less compelling for someone who only needs a graphical JSON viewer.
The jaq-core library supports multithreaded use and data types beyond JSON. jaq also permits arbitrary values as object keys and can process strings containing arbitrary bytes, including invalid UTF-8. Those capabilities matter when application data does not fit ordinary JSON assumptions.
The project publishes benchmarks against jq and gojq and reports that jaq is faster on many of them. That gives performance-conscious users a reason to evaluate it, but does not establish that it will be faster for every workload.
One important limit offsets those strengths: jaq does not guard against resource exhaustion. A filter or input can consume unlimited time, memory, or stack space, so jaq should not process untrusted workloads without safeguards imposed elsewhere. The project says Radically Open Security audited jaq's core in two NLnet-funded audits and that all reported issues were addressed; this does not remove the resource-exhaustion risk.
Binary downloads are provided for Linux, Mac, and Windows, with installation instructions for Homebrew and Cargo. An online playground offers a way to try jaq before using it in a local workflow.
Pricing
jaq is free: the jaq plan costs nothing and includes the MIT-licensed open-source command-line program and Rust library. There is no trial to weigh against a paid tier. This is a straightforward fit for individual developers and teams that can use open-source software; there are no paid plans or seat and quota terms to compare.
Platforms
jaq supports Linux, macOS, Windows, API, and self-hosted use. Its CLI and Rust library suit local and integrated development workflows, while binary downloads and Homebrew or Cargo installation options cover common setup paths.
Who it's for
Choose jaq if you already use jq-style filters and need to process or convert formats beyond JSON, or if you want jq-program execution inside a Rust application. Its broader value handling and multithreaded library support are especially relevant to developers with nonstandard data types. Avoid relying on it alone for untrusted inputs or filters: the absence of resource limits is a material operational risk.
Pros and cons
- Pros: One jq-style workflow covers seven formats and can transform data during conversion, useful for multi-format pipelines.
- Pros: The Rust library supports multithreaded use and non-JSON data types, extending jaq beyond a standalone CLI.
- Pros: Free, MIT-licensed software is available for Linux, macOS, and Windows, with Homebrew and Cargo installation paths.
- Cons: No protection against resource exhaustion means untrusted inputs or filters can use unlimited time, memory, or stack space.
- Cons: Its CLI and library focus make it a poor substitute for a visual JSON editor or viewer.
Alternatives
JSON Tools is the broader category for comparing software in this area.
- jq is the direct alternative for readers who want the free, MIT-licensed jq tool and do not need jaq's additional format coverage or Rust library.
- Dadroit JSON Viewer is a better fit for non-commercial users who want to open JSON files up to 50 MB and convert JSON to CSV or XML; its Standard plan costs $98 per y.
- BracketView is an option for readers seeking a browser-based JSON workflow with a free plan that includes uploads up to 5 MB, five encrypted snapshots per month with 10-minute expiry, 20 AI actions per month, and three webhook endpoints with 25 requests each and a two-day term.
- jless is a free, MIT-licensed command-line option for macOS and Linux users who want a narrower JSON-oriented alternative.
- jidoujisho is a free, open-source choice for Android 7.0 and later.
- JSON OS is a free browser-based JSON editor and Markdown previewer.
- JSONBuddy offers a free personal and educational single-user perpetual license with free minor updates and Standard-like functionality; choose it if that license scope and its Windows, API, or extension platforms fit better.
- jsonfmt.dev is an alternative for API users: its free API-key plan allows 100 requests per minute and 1,000 per month across all endpoints, with email support.
Verdict
jaq is an easy recommendation for developers who want jq-style transformation across several data formats or need to embed jq programs in Rust. Its free license, library, and broader value support give it a clear role beyond a basic jq replacement. Look elsewhere, or add strict external limits, when untrusted data or filters could exhaust resources.
Alternatives to jaq
- 1

JSONZen
Free planWebAPILinuxmacOS7.6$1 one-time - 2
jq
Free planWebLinuxmacOSSelf-hosted7.2Free 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
