jq Online
The jq playground runs jq 1.8 in your browser through a WebAssembly build, so there is nothing to install. Paste JSON, write a jq filter and see the result update instantly. Because jq executes locally on your device, the data you are transforming is never uploaded — handy for API responses and config files you would rather keep private.
How to use it
- 1
Paste your JSON
Provide the input document, or upload a .json file from disk.
- 2
Write a jq filter
Enter a program such as .items[] | select(.active) | .name.
- 3
See the result live
The filter runs as you edit, so you can iterate on the transformation quickly.
- 4
Copy the output
Copy the transformed JSON into your code, test or documentation.
Key features
Real jq 1.8
The genuine jq engine, compiled to WebAssembly — the same semantics as your terminal.
No install
No binary, no package manager, no version juggling; it runs in the tab.
Live results
Edit the filter and watch the output update instantly.
Private by design
Filters run locally; your input document is never uploaded.
Handles big input
Large documents are processed without freezing the interface.
Pairs with JSONPath
Use JSONPath for quick extraction and jq when you need full transformations.
Common errors & troubleshooting
- ! Wrap filters in single quotes when you copy them to a shell to avoid quoting surprises — the editor takes the raw program here.
- ! Use .[] to iterate and | to chain steps; most jq confusion comes from a missing pipe.
- ! select(...) keeps only the values that match the predicate; combine it with map() for list transforms.
- ! Watch the output type: jq prints multiple results as separate values, which is different from a single JSON array.
Frequently asked questions
Which version of jq is this?
jq 1.8, compiled to WebAssembly and running locally in your browser.
Is my data uploaded to run jq?
No. The jq engine runs in your browser; your input never leaves your device.
Do I need to install anything?
No. There is nothing to install or configure — just open the page.
Why does my filter return several values?
jq streams results, so a filter that matches multiple nodes prints them in sequence. Wrap the program in [ ... ] to collect them into a single array.
Related tools
JSONPath Query
Query JSON with JSONPath expressions, with a built-in syntax cheat sheet and one-click copy of each result.
JSON Formatter
Format, beautify and validate JSON in your browser. Errors point to the exact line and column, and you can indent with 2 spaces, 4 spaces or a tab.
JSON to YAML
Convert JSON to YAML while keeping the original structure, in a format that is easier to read and comment. Conversion errors point to the source position.