katlab tools/jq support on Ko-fi

jq · Playground

Run real jq filters over JSON — the genuine jq engine, live, all in your browser.

jq runs locally as WebAssembly. Your JSON never leaves your device.
jq
JSON input
Output

    
Loading the jq engine…

How to use the jq playground (free)

  1. Paste your JSON into the JSON input box.
  2. Type a jq filter — start with . for the whole document, or something like .items | map(.name).
  3. Read the result on the right. It updates live as you type. Toggle raw, compact, slurp, null input or sort keys as needed, then copy the output.

What is jq?

jq is a small, powerful command-line program for slicing, filtering, mapping and transforming JSON. A jq filter takes JSON in and produces JSON out — you compose filters with the pipe |, just like a Unix shell. It is the standard tool for wrangling API responses, config files and logs. This playground runs the real jq engine (jq 1.8.2), compiled from C to WebAssembly, so every filter behaves exactly as it does on the command line.

Example filters

.Pretty-print the whole document.
.user.nameGet a nested field.
.items[]Iterate over an array, one result per element.
.items | map(.name)Collect one field from every element into an array.
.items | lengthCount elements.
[.items[] | select(.price > 10)]Filter elements by a condition.
.items | group_by(.tag)Group elements by a field.
[.items[].price] | addSum a field across elements.
to_entries | map(.key)List the keys of an object.

The command-line options

The toggles map to jq's real flags. raw output (-r) prints strings without quotes — handy for shell-style output. compact (-c) puts each result on one line instead of pretty-printing. slurp (-s) reads the entire input into a single array first, so you can process a stream of JSON values at once. null input (-n) runs the filter with null as input, useful for generating JSON from scratch. sort keys (-S) emits object keys in sorted order.

Is my JSON private?

Yes. The jq engine is self-hosted here and runs entirely inside your browser tab as WebAssembly. Your JSON and your filters are never uploaded — there is no server round-trip and no account. Open your browser's network tab and watch: no request carries your data. That makes this safe for production payloads, tokens and other sensitive JSON, and it keeps working offline once the page has loaded.

Why not just use an online jq that runs on a server?

Most web-based jq tools send your JSON to a backend to evaluate the filter. For anything sensitive that is a leak waiting to happen. Running the actual jq binary in your browser gives you identical behaviour with none of the exposure.