---
obj: application
repo: https://github.com/01mf02/jaq
rev: 2024-03-28
---

# jaq
jaq is a clone of the JSON data processing tool [jq](jq.md). jaq aims to support a large subset of jq's syntax and operations.

jaq focuses on three goals:
- Correctness: jaq aims to provide a more correct and predictable implementation of jq, while preserving compatibility with jq in most cases.
- Performance: I created jaq originally because I was bothered by jq's long start-up time, which amounts to about 50ms on my machine. This can be particularly seen when processing a large number of small files. jaq starts up about 30 times faster than jq 1.6 and outperforms jq also on many other benchmarks.
- Simplicity: jaq aims to have a simple and small implementation, in order to reduce the potential for bugs and to facilitate contributions.

I drew inspiration from another Rust program, namely jql. However, unlike jql, jaq aims to closely imitate jq's syntax and semantics. This should allow users proficient in jq to easily use jaq.
