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

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.