Alternatives to yq
Command-line processor for YAML, JSON, XML, CSV and TOML. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
yq
Command-line processor for YAML, JSON, XML, CSV and TOML.
Replacements
Listings that take over the same core job as yq.
Dasel
Query and update structured files through a consistent command syntax.
Dasel queries and updates several structured formats through its own consistent syntax rather than jq-like expressions, and conversions are limited by what the target format can represent.
jq
The command-line JSON processor: slice, filter, map and transform structured data the way sed and awk handle text.
jq handles only JSON, not YAML, XML, CSV or TOML, but it is a dependency-free C executable with an online playground and packages in every major distribution.
jaq
Run jq-style queries through a Rust command-line tool and library.
jaq runs jq-style queries through a Rust tool and library with additional data formats, though its behavior differs from jq, so existing filters should be checked.
gojq
Process JSON with a Go implementation of jq.
gojq is a Go implementation of jq for JSON that doubles as a Go library, so YAML, XML, CSV and TOML editing is not covered.
Similar software
Related functionality, not a direct replacement.
fx
Inspect JSON interactively from your terminal.
jless
Browse large JSON structures in a keyboard-driven terminal viewer.
jc
Convert command output into JSON for easier scripting.
jnv
Edit jq-style filters while previewing JSON results interactively.
xan
Analyze and transform CSV files through composable terminal commands.
qsv
Query, transform and validate tabular data from the terminal.