jq vs Miller
jq
jqlang.orgMiller
miller.readthedocs.ioSide by side
| Figure | jq | Miller |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Data Transformation Tools | 8.6 (#9) | 7.6 (#25) |
| Data operations | jq can slice, filter, map and transform JSON data. | It can add and remove fields, sort, aggregate statistics, pretty-print data, and convert between formats. |
| Distribution | The download page lists installation through Linux distribution repositories, Homebrew, MacPorts, Fink, winget, Scoop, and Chocolatey. | Installation options include package managers such as apt, yum, Homebrew, MacPorts, Chocolatey, Snap, and Conda, as well as building from source. |
| License | jq code is licensed under the MIT license, while its documentation is licensed under CC-BY-3.0. | The project repository identifies Miller's license as two-clause BSD. |
| Platforms | The download page links standalone executables for Linux, macOS, and Windows, and describes building jq for nearly any platform. | The installation page lists binaries or installation methods for Linux, macOS, and Windows. |
| Purpose | jq is a lightweight, flexible command-line JSON processor for slicing, filtering, mapping, and transforming structured data. | Miller is a command-line tool for querying, shaping, and reformatting data files in formats including CSV, TSV, JSON, JSON Lines, YAML, and DCF. |
| Streaming | jq reads whitespace-separated JSON values and writes newline-separated JSON output. | Most operations process one record at a time, allowing Miller to work with files larger than available RAM when the operation permits. |
| Support | The project points users to Stack Overflow, the #jq Libera.Chat channel, and its Discord server for questions and discussion. | The project directs users to GitHub Discussions for general questions, Stack Overflow for tagged questions, and GitHub Issues for bug reports and feature requests. |
Plans
In their own words
jq
jq is a free command-line processor for selecting and transforming JSON data. A jq filter takes an input and produces output; filters can be combined to access nested attributes, construct objects, gather results into arrays, or make other transformations. It reads whitespace-separated JSON values and writes serialized results separated by whitespace. Each expression runs on each input value and may produce zero or more outputs. For very large inputs, the --stream option parses incrementally. Output options include compact, raw, ASCII, sorted-key, and colored forms. Written in portable C, jq has no runtime dependencies, and a standalone binary can be copied to another machine of the same type. Standalone executables are available for Linux, macOS, and Windows, with packages listed for Linux distributions and package managers including Homebrew, MacPorts, winget, Scoop, and Chocolatey. A Docker image is also available. Release binaries have SHA-256 checksums, and signed release artifacts use jq release keys. The code is licensed under MIT; the documentation uses CC-BY-3.0.
Miller
Miller has no write-up on Specifiction yet; its figures are above.