jq filter for JSON

Client

Paste 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 formatterwhen the document must parse before any transform or export.
  • JSONatafor 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

Related utilities you can open in another tab—mostly client-side.