HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
01mf02
jaq
Rust2022–2026
01mf02 / jaq

jaq

A jq clone focussed on correctness, speed, and simplicity

17Distinct people
21Mentions
1Explicit recommenders
3.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

A jq clone focussed on correctness, speed, and simplicity

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

gojq is also my favorite for two "day to day" reasons: - the error messages are night and day better than C-jq - the magick of $(gojq --yaml-input), although I deeply abhor…

mdaniel used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year21 dated mentions

Observed mentions: 2022-04-27 20:35:05 UTC to 2026-10-06 16:22:50 UTC.

02462022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 5 mentions; 2 submissions, 3 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 2 submissions, 0 comments20242025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC523
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC615
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC220
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC505
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC312

What Hacker News says

21 sources
> But it does have a wart in that there are byte sequences which are invalid UTF-8 and how to interpret them is undefined. This is not a wart. And how to interpret them is not undefined -- you're just not allowed to interpret them as _characters_. There is right now a discussion[0] about adding a garbage-in/garbage-out mode to jq/jaq/etc that allows them to read and output JSON with invalid UTF-8 strings representing binary data in a way that round-trips. I'm not for making that the default for jq, and you have to be very careful about this to make sure that all the tools you use to handle such "JSON" round-trip the data. But the clever thing is that the proposed changes indeed do not interpret invalid byte sequences as character data, so they stay within the bounds of Unicode as long as your terminal (if these binary strings end up th
Read the rest
ere) and other tools also do the same. [0] https://github.com/01mf02/jaq/issues/309
In UTF-8 is a brilliant design
mdaniel·Mar 29, 2025Recommendation phrase
gojq is also my favorite for two "day to day" reasons: - the error messages are night and day better than C-jq - the magick of $(gojq --yaml-input), although I deeply abhor that it is 10 characters longer than "-y" It's worth mentioning https://github.com/01mf02/jaq (MIT) because it actually strives to be an implementation of the specification versus just "execute better" as gojq does
In Xee: A Modern XPath and XSLT Engine in Rust
I'd be curious how the performance compares to this Rust jq clone: cargo install --locked jaq (you might also be able to add RUSTFLAGS="-C target-cpu=native" to enable optimizations for your specific CPU family) "cargo install" is an underrated feature of Rust for exactly the kind of use case described in the article. Because it builds the tools from source, you can opt into platform-specific features/instructions that often aren't included in binaries built for compatibility with older CPUs. And no need to clone the repo or figure out how to build it; you get that for free. jaq[1] and yq[2] are my go-to options anytime I'm using jq and need a quick and easy performance boost. [1] https://github.com/01mf02/jaq [2] https://github.com/mikefarah/yq
In Make Ubuntu packages 90% faster by rebuilding them
aqny·Jun 3, 2024Submission

Show HN: jnv: Interactive JSON filter using jq [Release v0.3.0]

https://github.com/ynqa/jnv Released v0.3.0 that transitions from libjq Rust binding j9 to jq clone jaq. - j9: https://github.com/ynqa/j9 - jaq: https://github.com/01mf02/jaq This change eliminated the need to manage C-related dependencies that include external tools like autoconf, thus simplifying the build process. However, please note that some filters are not yet supported by jaq. If you previously failed to install, please try again and continue to provide feedback on this transition :)
1 points · Open discussion
And there is also a rust clone of `jq`, `jaq` [1], which aims for correctness, performance and simplicity. I use it for the performance because there is a big startup time for `jq`, with `jaq` I can use it in scripts that are called every seconds in my status bar without delay. [1]: https://github.com/01mf02/jaq
In jq 1.7

Showing the 15 most recent of 21 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.