JSON ALL-IN-ONE / QUERY TOOL
Free JQ online for real-world JSON files
Paste JSON or open a local file to filter and transform it in your browser. The same workbench used by JSON All-in-One provides source-aware JQ suggestions, a local query history, and a lazy JSON view.
JSON · JSONC · NDJSON · NDJSONC | Privacy-first local JQ 1.8.1 engine
SIX REPRODUCIBLE STARTS
Choose a query, then change it
Select fields
Source:
{"users":[{"name":"Ada","role":"admin"},{"name":"Bo","role":"reader"}]}Filter: .users[] | {name, role}
Settings: Input format: JSON; JQ runtime: local jq 1.8.1; result mode: materialized JSON array.
Expected output:
[{"name":"Ada","role":"admin"},{"name":"Bo","role":"reader"}]Select two fields from every user without changing the original document.
Caveat: The product workbench materializes the two JQ results into one previewable JSON array.
Filter records
Source:
{"users":[{"name":"Ada","active":true},{"name":"Bo","active":false}]}Filter: .users[] | select(.active) | .name
Settings: Input format: JSON; JQ runtime: local jq 1.8.1; result mode: scalar JSON value.
Expected output:
"Ada"Keep only matching records, then read the field that matters.
Caveat: A string result is still JSON output, so the expected value includes quotes.
Sum values
Source:
{"items":[{"price":3},{"price":4}]}Filter: .items | map(.price) | add
Settings: Input format: JSON; JQ runtime: local jq 1.8.1; result mode: number.
Expected output:
7Turn a list of prices into one total.
Caveat: This sums the visible numeric sample; it is not currency validation or decimal accounting.
Sort an array
Source:
[3,1,2]Filter: sort
Settings: Input format: JSON; JQ runtime: local jq 1.8.1; result mode: array.
Expected output:
[1,2,3]Order array values and inspect the transformed result.
Caveat: JQ sort rules depend on JSON value types; mixed values can sort differently than strings in a spreadsheet.
Query NDJSON records
Source:
{"n":1}
{"n":2}Filter: .[] | .n * 2
Settings: Input format: NDJSON; normalization: one JSON value per line becomes an array; result mode: materialized JSON array.
Expected output:
[2,4]The viewer prepares line-delimited records as an array for this example.
Caveat: NDJSON input is normalized before this filter; the two JQ results are materialized as one previewable JSON array.
Read JSONC
Source:
{
// local note
"n": 2,
}Filter: .n
Settings: Input format: JSONC; normalization: comments and trailing comma removed before JQ.
Expected output:
2Comments and a trailing comma are handled before the JQ filter runs.
Caveat: JSONC support is a browser-workbench normalization step; plain jq command-line input rules are different.
Input shape matters
JSON and JSONC have one root. NDJSON and NDJSONC contain one value per line; in the example above, those records form an array before .[] selects each item. Check the loaded source shape before writing a filter.
The JQ editor offers syntax help and field suggestions from the active document. Its history stays in this browser origin; it does not synchronize with the extension or an account.
Opening is not executing
Large files can be opened with streamed reading and a lazy view, but a broad JQ operation may still be expensive or exceed the browser's available memory. Test the exact source and filter you intend to use. A failed operation does not turn a successful file-open into a multi-gigabyte JQ guarantee.
Your pasted or selected JSON is processed locally in this browser, not uploaded to our servers. Temporary workbench data may be kept in browser storage; you can clear site data through your browser settings.