Skip to content
SPECIFICTION
Get listed

gojq vs jq

gojq

github.com

jq

jqlang.org

Side by side

Figuregojqjq
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
WindowsYesYes
macOSYesYes
LinuxYesYes
Self-hostedYesYes
Plans published11
Spec score · JSON Tools8.5 (#5)8.8 (#2)
LicenseThe project is released under the MIT License.jq code is licensed under the MIT license, while its documentation is licensed under CC-BY-3.0.
Purposegojq is a pure Go implementation of the jq command-line JSON processor and can also be embedded as a library in Go products.jq is a lightweight, flexible command-line JSON processor for slicing, filtering, mapping, and transforming structured data.
SupportThe project directs users to report bugs through its GitHub Issues page.The project points users to Stack Overflow, the #jq Libera.Chat channel, and its Discord server for questions and discussion.

Plans

gojq

  • FreeFree

gojq pricing →

jq

  • jqFree

jq pricing →

In their own words

gojq

gojq is a free, MIT-licensed Go implementation of the jq command, with a library for embedding queries in Go products. The command-line tool applies jq-style queries to JSON, including filtering, field selection, updates, and multiple input values. It reads YAML and can produce YAML output. Integer arithmetic uses arbitrary precision for addition, subtraction, multiplication, modulo, and divisible division. The project describes gojq as portable and supports Linux, macOS, Windows, and self-hosted use. Documented installation routes include Homebrew, mise, Zero Install, source builds, and Docker images. Go applications can parse and run queries, compile them for reuse, and configure custom functions and iterators. Environment-variable access and module loading are disabled by default for library queries and require configured loaders. gojq does not preserve object key order and lacks some jq extensions, flags, functions, and regular-expression behavior.

Visit github.com

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.

Visit jqlang.org