jq Online Playground
Run real jq filters against your JSON — entirely in your browser. This is the actual jq compiled to WebAssembly, so every jq feature works: select, map, keys, sort_by, recursive descent, string operations, and more.
How to use this tool
Paste your JSON into the input on the left, or edit the default sample.
Type a jq filter in the Filter box. Use the example chips below for common patterns.
Output appears on the right as you run. Use Cmd/Ctrl+Enter in the filter box to run manually.
jq is the de facto standard for slicing JSON on the command line. Having it in the browser is handy when you cannot (or do not want to) install jq locally, or when you want to share a query with a colleague.
The jq runtime is WebAssembly and loads on first use (~600KB). After that it is cached and instant. All execution is local — your data never leaves your browser.
Frequently asked questions
Is this real jq or a JavaScript reimplementation?
It is real jq — the same C implementation used on Linux and macOS — compiled to WebAssembly via jq-wasm. Every language feature, including recursive descent (..), select, map, sort_by, @format strings, and arithmetic, works as you would expect.
Why is the first run a little slow?
The WebAssembly module (~600KB) loads on first use to keep the rest of the page fast. Once loaded, it stays cached and subsequent runs are instant.
How is this different from JSONPath?
JSONPath is purely a query language — it selects nodes. jq is a full programming language for transforming JSON: you can filter, map, reduce, do arithmetic, format strings, and compose pipelines. Use JSONPath for simple selection, jq for anything more complex.
Can I use this offline?
After the initial page load the runtime works offline. The jq module itself is fetched from the same origin as the page.
Is my JSON uploaded?
No. jq runs in your browser via WebAssembly. Nothing is transmitted.