Awesome jq

A curated list of awesome things built with the JSON processor and
turing-complete functional language jq.
Implementations
Standalone implementations of the jq language.
- jq (github) – The original jq command-line JSON processor.
- gojq – A jq implementation in Go.
- jaq – A jq implementation in Rust that misses some small features but is often more correct than the original.
- query-json (
q) – query-json is a faster, simpler and more portable implementation of the jq language in Reason.
- xq – Pure rust implementation of jq
- jq.js – Pure Javascript implementation of jq
- jqjq – jq implementation of jq
jq-based JSON visualizers and explorers.
Command-line
- faq – CLI program that processes BSON, Bencode, JSON, TOML, XML, YAML using libjq.
- jiq – A visual command-line interactive JSON explorer with jq filters.
echo '' | fzf --print-query --preview "cat *.json | jq {q}" – An fzf hack that turns it into an interactive jq explorer.
- jqq – A visual command-line interactive jq explorer written in Ruby.
- yq (and
xq) – jq wrapper for YAML and XML documents.
- yiq – Like
jiq, but using yq instead, so it supports YAML documents.
- ijq – jq REPL with automatic variable assignment and global statements support.
- ijq – Interactive jq tool. Like jqplay for the commandline.
- jqsh – An interactive wrapper written in Go.
- jq-zsh-plugin – zsh line editor for constructing jq queries interactively.
- fq – jq for binary formats
- jq-fish-plugin – Inspired by jq-zsh-plugin, interactively build jq expressions in fish shell.
- jqp – a TUI playground for exploring jq.
- jnv – interactive JSON filter using jq with navigation and autocompletion.
- jqunit – A test framework for JQ, written in Rust, on top of libjq.
- play – A TUI playground to experiment with your favorite programs, such as grep, sed, awk, jq and yq.
- jqfmt – A code beautifier for jq.
Web
- query-json playground – Web playground that uses
query-json compiled to JavaScript.
- jiq-web (github) –
jiq, but in a web page, uses jq-web.
- jq play (github) – A playground for jq with sharing capabilities.
- jq kung fu – A jq playground in WebAssembly powered by the original jq compiled with emscripten.
- jq-finder (github) – A multipanel, Finder-like, JSON explorer with jq filters instead of paths, uses
jq-web.
- jqaas – jq as a service, an open HTTP endpoint that executes jq queries.
- jqp – A free serverless proxy for filtering JSON and CSV data using jq.
- jqterm (github) – Online playground - "jq as a service"
Desktop
- jqi (github) – The almighty jq processor wrapped in a graphical UI, for Mac OSX.
- jqview – A jq JSON explorer with a minimalist native GUI.
Extensions
- bro/q – A Chrome Extension for JSON formatting and jq filtering.
- virtual-json-viewer – A JSON Chrome/Firefox Extension with virtual DOM, full-text search and jq filtering.
- atom-jq – Interactive jq playground inside the Atom editor.
- jq-mode – A jq mode for Emacs.
- vscode-jq – A jq extension for VS Code.
- vscode-jq-playground – A jq playground notebook extension for VS Code.
- vim-jqplay – Interactive jq playground inside Vim.
- jq-playground.nvim – Interactive jq playground inside Nvim, written in Lua.
:%!jq '.' is a Vim command that formats JSON in-place with jq (beware of any other tricks you might be thinking of).
- jq-lsp – jq language server. Works with VSCode, neovim and Emacs. Has syntax and scope checking, goto defintion, completion and hover documentation.
- vscode-jq – VSCode jq extension that uses jq-lsp. Has syntax highlight, snippets and everything jq-lsp provides.
- bat syntax highlighting – Syntax file to use bat to syntax highlight jq files
- jqExpress – A jq extension for JetBrains IDEs
Documentation
Readings about jq.
Core documentation
Good small specific tutorials
Code examples
Documentation browsers
Use Cases
Apps using jq in the wild.
- liteJQ – jq SQLite extension.
- pgJQ – jq Postgres extension.
- jqmd – A "literate devops" tool that allows embedding jq code, shell scripts, YAML, and JSON in a markdown document and making it executable. (A bit like R markdown or IPython notebooks, except with shell/jq/YAML/JSON, and as a CLI scripting tool rather than a GUI.)
- sc – A lightweight SoundCloud client, with a composable api, powered by jq.
- jc – CLI tool that converts the output of popular command-line programs and filetypes to JSON so they can be piped to jq.
- jqt (github) – A web template engine that uses jq as expression language.
- datasette-jq – A plugin that enables jq queries on JSON columns on datasette deployments.
- jtool – jq-based JSON tools for a modern shell.
- just-dashboard – A serverless app for implementing JSON-powered dashboards with JSON or YAML files (and jq filters as strings) serving as the only source of configuration.
- bf.jq – A Brainfuck interpreter written in jq.
- jq-voronoi – Implementation of Fortune’s algorithm to calculate Voronoi diagram on jq.
Incrementing jq capabilities.
- jqnpm – A jq package manager that installs modules from GitHub and runs jq scripts.
- JBOL – A collection of utility modules for jq (math, prelude, set, string etc.).
- bigint, array, string and other libraries – jq libraries from the author of jqnpm.
- jq-jsonpointer – jq module implementing JSON Pointer (RFC 6901)
- tree-sitter-jq – Tree sitter grammar implementation for Jq language
- json5.jq JSON5 implementation for jq
- tar.jq tar archive creator for jq
External libraries
Using jq from other languages.
- gojq – A full jq implementation in Go, usable as a library.
- jq-web – jq itself compiled to JavaScript with emscripten. There's also an alternative at jqdash.
- jq-go – Golang cgo bindings for libjq (jqpipe-go is a CLI wrapper from the same people).
- libjq-go – Golang cgo bindings for libjq. This one works with recent versions of jq: 1.5, 1.6+.
- node-jq – A jq wrapper for Node.js.
- jq-ruby – A jq wrapper for Ruby.
- pyjq – A jq wrapper for Python.
- jq.py – Another jq wrapper for Python.
- php-ext-jq – PHP extension for jq.
- java-jq – A jq wrapper for Java (jackson-jq is a Jackson extension).
- jqr – R interface to jq.
- Ansible jq – A jq filter for Ansible configuration manager.
- json-jq – A jq wrapper for Perl.
Podcasts and presentations
Contribute
Please contribute! Open an issue or a PR and we’ll discuss it or merge it. If
you’re opening a PR, please ensure all formatting is ok (if you’re in a hurry
just open an issue).
License
