JSON All-in-OneJSON All-in-One
Site navigation
English

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

Paste JSON or Drag and Drop your file.

Load the page to start the local workbench.

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:

7

Turn 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:

2

Comments 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.