jq filter for JSON
ClientPaste JSON and a jq filter expression—same language as the jq CLI. Output is pretty-printed when it is JSON; use this for pipelines, logs, and API shaping in the browser.
Learn more: jq vs JSONPath
Run jq filters on JSON in your browser—the same expression language as the jq CLI (including pipes and many built-ins). The runtime is lazy-loaded WebAssembly; your input stays local.
Not the same as JSONPath or JMESPath
jq uses its own grammar. If you need JSONPath or JMESPath specifically, use the JSONPath & JMESPath tool in this hub. If you need jq for scripts or pipelines, use this page to match the CLI.
JSONata lives on its own page
JSONata is a separate language (popular in integration and flow tools). Use the JSONata tool when you intend that dialect—do not paste JSONata into the jq filter box here.
Limits
Very large documents may be slow in the browser. External jq modules and network fetches are not available—only standard jq features bundled in the build.
Nearby workflows on Toolcore
- JSON formatter — when the document must parse before any transform or export.
- JSONata — for expression-style transforms beside jq filters.
Common use cases
- Match shell or CI jq one-liners before pasting them into scripts.
- Shape API responses with pipes—map, select, group_by—without JSONPath or JMESPath.
- Preview transformations on sample payloads while writing data pipelines.
- Triage log or event blobs after trimming to a single JSON value or a small array—same jq expressions as offline tooling.
Common mistakes to avoid
Treating jq like JSONPath or JMESPath
jq has its own grammar. Expressions from other query languages usually need rewriting—use the JSONPath & JMESPath page when you need those dialects.
Expecting full jq CLI environment features
This page runs jq in the browser. File reads, HTTP, and custom modules are not available—only the bundled jq runtime.
Assuming slurp mode from the CLI without shaping input
If your filter expects an array built with `-s` from many files, adapt it for the single document you paste here—often by wrapping or using array constructs explicitly.
FAQ
Is my JSON sent to a server?
No. The jq engine loads in your browser (WebAssembly) and runs locally.
Why is the first run slower?
The jq WebAssembly bundle downloads on first use, then stays cached for the session.
Should I use jq here or the JSONPath page?
Use jq when you want jq’s expression language and filters. Use JSONPath or JMESPath when your runtime or query spec requires those dialects.
Common search terms
Phrases people search for that match this tool. See the full long-tail keyword index.
- jq filter online
- run jq in browser
More tools
Related utilities you can open in another tab—mostly client-side.
JSONata (JSON)
ClientEvaluate JSONata expressions on JSON locally—queries and transforms beside JSONPath and jq.
JSONPath & JMESPath
ClientQuery large JSON with JSONPath or JMESPath—results panel, runs in your tab.
JSON Logic evaluator
ClientEvaluate portable JSON Logic rules on JSON data—if, var, maps—in your browser.
JSON formatter
ClientJSON format online: pretty-print, minify, validate, escape, download .json.