Favicon of jaq

jaq

Lightweight jq clone delivering superior performance and predictable behavior. Process JSON with quick startup times and support for YAML, CBOR, TOML, and XML formats.

jaq is a high-performance clone of the popular jq JSON processing tool, built with correctness, speed, and simplicity as core principles. It maintains broad compatibility with jq while addressing quirks and surprising behaviors in the original implementation.

Key advantages:

  • Exceptional performance: Dramatically faster startup times (around 50ms improvement over jq 1.6) and superior execution speed across most benchmarks, making it ideal for processing numerous small to medium-sized files
  • Extended format support: Beyond JSON, handle YAML, CBOR, TOML, and XML data formats natively
  • Predictable behavior: More correct and reliable implementation that reduces unexpected edge cases
  • Dual functionality: Works as both a command-line tool (drop-in jq replacement) and as a Rust library (jaq-core) for embedding in applications
  • Thread-safe library: The jaq-core library safely handles multi-threaded environments and supports arbitrary data types beyond standard JSON
  • Lightweight codebase: Simple, maintainable implementation reduces bugs and welcomes community contributions

Benchmark results demonstrate jaq's speed advantage, winning on 20 out of 28 performance tests compared to jq 1.8.1 and gojq. Whether you're processing JSON at scale or integrating JSON handling into Rust applications, jaq delivers the performance and reliability you need.

Features

JSON outputScriptable

Media

Pros

4
  • Faster startup times than jq
  • Supports YAML, CBOR, TOML, and XML formats
  • Can be used as a library in Rust programs
  • Aims for correctness and predictability

Cons

1
  • May not be a drop-in replacement for all jq use cases

Related tools

Share:

Auto-fetched .

Recent releases

Similar to jaq

Favicon

 

  
 
Favicon

 

  
 
Favicon