A curated list of awesome things built with the JSON processor and turing-complete functional language jq.
jq-based JSON visualizers and explorers.
- jq (github) – jq itself, the command-line JSON processor.
- gojq – A full jq implementation in Go (yes), also usable as a library.
- 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 usingyq
instead, so it supports YAML documents. - ijq – jq REPL with automatic variable assignment and global statements support.
- jqsh – An interactive wrapper written in Go.
- jq-zsh-plugin zsh line editor for constructing jq queries interactively.
- jiq-web (github) – jiq, but in a web page.
- 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.
- jqaas – jq as a service, an open HTTP endpoint that executes jq queries.
- jqi (github) – The almighty jq processor wrapped in a graphical UI, for Mac OSX.
- jqview – A jq JSON explorer with a minimalist native GUI.
- bro/q – A Chrome Extension for JSON formatting 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 '.'
is a Vim command that formats JSON in-place with jq (beware of any other tricks you might be thinking of).- @runjqbot – A Telegram bot that executes arbitrary jq code.
Readings about jq.
- Manual – jq manual (development version).
- FAQ – jq FAQ.
- Cookbook – jq cookbook.
- Advanced Topics – jq advanced topics.
- Bash that JSON (with jq).
- JSON on the command line with jq.
- Reshaping JSON with jq.
- jq is sed for JSON.
- Mastering jq: part 1
- jq at Rosetta Code – Dozens of algorithms written in jq .
- Builtins – jq builtins coded in jq itself, not C.
Apps using jq in the wild.
- 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.
- @incomingnotificationbot – A Telegram bot that gives you HTTP endpoints and notifies you when a webhook arrives, filtering and formatting content with jq.
- jqt (github) – A web template engine that uses jq as expression language.
- Vudash – A flexible and JSON-powered configurable open-source dashboard with support for a jq transformer.
- 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.
- etleneum – A centralized smart contract platform that works with sats and uses jq for easing the life of clients that want to fetch JSON states.
Incrementing jq capabilities.
- jqnpm (github) – 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.
Using jq from other languages.
- gojq – A full jq implementation in Go, usable either as a library or as a standalone CLI.
- 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.
- ruby-jq – 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.
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).