FREEDOM251

Freedom251 › JSON Tools

jaq

Free plan Open source APILinuxMacSelf-hostedWebWindows

Visit jaq Alternatives Pricing

jaq's own site

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 among these formats while applying a filter. The jaq-core library supports multithreaded use and data types beyond JSON. jaq also accepts arbitrary values as object keys and processes strings containing arbitrary bytes, including invalid UTF-8. The project publishes comparisons with jq and gojq and reports that jaq is faster on many benchmarks. It describes jaq as memory-safe and says input data and filters cannot initiate I/O, though filters may read files before execution. Its core has undergone two security audits, with reported issues addressed. The project warns that processing is not protected against resource exhaustion and may use unlimited time, memory, or stack space. Downloads and installation instructions are available for Linux, macOS, and Windows, and an online playground is available.

Who it suits

jaq suits people who want a command-line jq alternative or a Rust library for working with structured data. It also fits workflows that need formats beyond JSON or conversion between supported formats.

What it does well

  • Free, open-source, and MIT-licensed.
  • Supports seven data formats.
  • Available as a CLI and Rust library.
  • Handles arbitrary-byte strings and object keys.
  • Offers binaries and an online playground.

What to know first

  • Does not guard against resource exhaustion.
  • File reads may occur before filter execution.

Limits

jaq does not guard against resource exhaustion. Processing may use unlimited time, memory, or stack space.

Plans

PlanBilled and limitsPrice
jaqMIT-licensed open-source command-line program and Rust libraryFree
jaq open-source releaseMIT licence · command-line binary and Rust crates · Linux, macOS and Windows binariesFree

As github.com lists them, read 4 Oct 2026. The maker's own page has the final word.

Getting started

  1. Open the jaq GitHub project or its online playground.
  2. For a local installation, download a binary for Linux, macOS, or Windows.
  3. Alternatively, follow the project's Homebrew or Cargo installation instructions.
  4. Use jaq from the command line, or use its Rust library to compile and run jq programs.

jaq is a free data-processing tool for people who want jq-style queries in command-line workflows or Rust applications. It is particularly useful when work spans several structured formats, but workloads involving untrusted input need safeguards outside jaq.

Overview

jaq aims to make jq-style filtering correct, fast, and simple. It combines a command-line replacement for jq with a Rust library that compiles and runs jq programs, making it relevant both to shell users and developers embedding filters in software.

Key features

Beyond JSON, jaq supports YAML, CBOR, TOML, XML, CSV, and TSV. It can convert between those formats while applying a jq filter, reducing the need to split conversion and transformation across separate steps. This breadth is valuable for mixed-format pipelines; users needing only JSON have less reason to choose it over a dedicated viewer or editor.

For Rust applications, jaq-core can run in multithreaded environments and supports data types beyond JSON. jaq also allows arbitrary values as object keys and handles strings containing arbitrary bytes, including invalid UTF-8. These are useful capabilities when data does not fit ordinary JSON assumptions.

The project publishes comparisons with jq and gojq and reports faster results on many benchmarks. That makes jaq worth considering for performance-sensitive work, though it does not establish that every workload will run faster.

Platforms

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, while the Rust library suits developers integrating it into their own applications.

Who it's for

jaq is a strong fit for developers and command-line users who already value jq-style filters and need to work across formats. Rust developers can also use it as a library, particularly when multithreaded use or non-JSON data types matter. For untrusted or costly workloads, it is not a safe standalone choice without external resource controls.

Pricing

jaq — free: The MIT-licensed open-source offering includes both the command-line program and Rust library. There is no paid tier or trial to weigh against a free plan; its practical cost is the need to manage resource limits independently where exhaustion would be a concern.

Pros and cons

  • Pros: One jq-style workflow covers JSON, YAML, CBOR, TOML, XML, CSV, and TSV, including conversion during filtering.
  • Pros: The Rust library supports multithreaded use and data beyond JSON, while arbitrary object keys and byte strings accommodate unusual inputs.
  • Pros: The project says jaq is memory-safe, and reports that two NLnet-funded audits of its core by Radically Open Security had their reported issues addressed.
  • Cons: It does not limit time, memory, or stack consumption, so an input or filter can exhaust resources unless the surrounding environment imposes limits.
  • Cons: Its broad format and library capabilities are less compelling for readers who only need a visual JSON editor or viewer.

Alternatives

JSON Tools is a broader category to explore if jaq's command-line and library focus is not the right fit.

  • jq is the direct alternative for users who want a free, MIT-licensed jq tool with standalone binaries for Linux, macOS, and Windows, rather than jaq's stated focus on multiple formats and a Rust library.
  • Dadroit JSON Viewer suits readers seeking a viewer with JSON-to-CSV or XML conversion: its free non-commercial plan opens files up to 50 MB, while its Standard plan costs $98 per y.
  • BracketView is an option for readers who prefer a web-based workflow with limited free uploads, encrypted snapshots, AI actions, and webhook endpoints.
  • jless is a free MIT-licensed command-line tool for macOS and Linux to consider as another terminal-based option.
  • jidoujisho is a free option for readers looking for software on Android 7.0 or later.
  • JSON Crack is a free, open-source online tool for readers who prefer a web or browser-extension option.
  • JSON Editor is a free MIT-licensed JavaScript library for readers building a JSON editor that runs in a modern browser.
  • JSON Forms is a free option for readers looking for JSON Forms with community support.

Verdict

Choose jaq if you want jq-style filtering across multiple data formats or need a Rust library for compiling and running jq programs. Its format coverage, flexible data handling, and free MIT-licensed code make a persuasive package for technical workflows. Look elsewhere, or add external limits, when untrusted inputs must be prevented from consuming unbounded time, memory, or stack space.

Verdict

jaq brings jq-style filtering to multiple data formats and also offers a Rust library. Its lack of resource-use limits is worth considering when processing untrusted or costly workloads.

Questions

Is jaq free?

Yes. The listed plan is free, and the project identifies jaq as MIT-licensed open-source software.

Which data formats does jaq support?

It supports JSON, YAML, CBOR, TOML, XML, CSV, and TSV. It can convert between supported formats while applying a jq filter.

Which platforms are available?

The listed platforms are Linux, macOS, Windows, and API. Binary downloads are provided for Linux, Mac, and Windows.

Can I try jaq before installing it?

Yes. The project links to an online playground where users can try jaq.

Does jaq have a Rust library?

Yes. jaq is also a Rust library for compiling and running jq programs; jaq-core supports multithreaded environments and data types beyond JSON.

What resource limits does jaq impose?

It does not guard against resource exhaustion, so processing may consume unlimited time, memory, or stack space.

Facts from jaq's own pages

API halt handling
Version 3.1 lets callers handle halt from filters through the jaq API instead of forcibly terminating the process. · github.com, 15 Oct 2026
Arch distribution
Arch Linux packages jaq 3.1.1-1 for x86_64 in its Extra repository. · archlinux.org, 15 Oct 2026
CLI and library
jaq is both a command-line jq replacement and a Rust library for compiling and running jq programs. · github.com, 4 Oct 2026
Conversions
It can convert data between supported formats while transforming it with a jq filter. · github.com, 4 Oct 2026
CSV and TSV
Version 3.0 added CSV and TSV format support. · github.com, 15 Oct 2026
Custom data types
jaq-core can process data types beyond JSON and supports embedding application-defined values through its ValT trait. · docs.rs, 15 Oct 2026
Distribution conflict
Homebrew warns that jaq conflicts with json2tsv because both install binaries named jaq. · formulae.brew.sh, 15 Oct 2026
Downloads
The project provides binary downloads for Linux, Mac, and Windows, and documents installation via Homebrew and Cargo. · github.com, 4 Oct 2026
Extra value support
jaq supports arbitrary values as object keys and can process strings containing arbitrary bytes, including invalid UTF-8. · github.com, 4 Oct 2026
Filters
The project adds filters including path-related operations, format conversion functions, tobytes, toboolean, @htmld and halt/1. · github.com, 15 Oct 2026
Formats
It supports JSON, YAML, CBOR, TOML, XML, CSV, and TSV data formats. · github.com, 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. · github.com, 15 Oct 2026
Homebrew distribution
Homebrew provides jaq 3.1.1 bottles for Apple Silicon and Intel macOS plus ARM64 and x86_64 Linux. · formulae.brew.sh, 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. · explore.market.dev, 15 Oct 2026
Independent performance research
A peer-reviewed research paper reports jaq faster than jq on ten of thirteen benchmarks. · arxiv.org, 15 Oct 2026
Installation
Prebuilt binaries are offered for Linux, macOS and Windows, and source installation uses Cargo with a Rust toolchain. · github.com, 15 Oct 2026
JSON compatibility
The project is intended as a drop-in jq replacement and aims to preserve jq compatibility in most cases. · docs.rs, 15 Oct 2026
Latest documented release
Docs.rs lists jaq 3.1.1 as released on 5 August 2026. · docs.rs, 15 Oct 2026
Library safety
The jaq-core library can be used in multithreaded environments and supports data types beyond JSON. · github.com, 4 Oct 2026
Licence
The GitHub repository and package distributors identify jaq as MIT-licensed. · github.com, 15 Oct 2026
License
The project repository identifies jaq as MIT-licensed. · github.com, 4 Oct 2026
Maker
The GitHub account identifies the maintainer as Michael Färber, a computer-science PhD focused on logic and automated reasoning. · github.com, 15 Oct 2026
Maker location
Michael Färber's GitHub profile lists Innsbruck as his location. · github.com, 15 Oct 2026
Manual
jaq provides its own reference manual with nearly 500 automatically tested examples and a man page. · github.com, 15 Oct 2026

Where jaq stands on Freedom251

Look at these too