2 unstable releases

0.2.0 Jun 30, 2021
0.1.0 Mar 21, 2021

#1498 in Command line utilities


187 lines


Crates.io version Download Build status

Extend jq for any data format. Currently supports JSON, TOML, and YAML.

📦 Installation

Pre-built binaries for 64-bit Linux, macOS, and Windows are provided. The following script can be used to automatically detect your host system, download the required artifact, and extract the aq binary to the given directory.

curl --proto '=https' -fLsS https://rossmacarthur.github.io/install/crate.sh \
    | bash -s -- --repo rossmacarthur/aq --to ~/.local/bin

Alternatively, you can download an artifact directly from the the releases page.


aq can be installed from Crates.io using Cargo, the Rust package manager.

cargo install aq-cli

🤸 Usage

By default aq behaves just like jq and operates on JSON.

$ echo '{"foo":{"bar": 1337}}' | aq .foo
  "bar": 1337

But it also accepts options to specify the input and output format. For example with a TOML input and a JSON output:

$ echo '[foo]\nbar = 1337' | aq -i toml -o json .foo
  "bar": 1337

If not provided, the output format defaults to the input format. Additionally, you can use j for JSON, t for TOML, and y for YAML for maximum brevity.

$ echo '[foo]\nbar = 1337' | aq -it .foo
bar = 1337


Licensed under either of

at your option.


~45K SLoC