JSON●Workbench

JSON → CSV

JSON → XML

Import into the document

Analyze the document for size, shape, type distribution, key frequency and per-field fill rates.

Point at any array and manage its entries: view, clone, delete, or add a blank modelled on the existing ones.

Query syntax

$root
.keychild, also ['key']
[0] [-1]index, negative counts from end
[1:4]slice
.* [*]all children
..keyrecursive descent
[?(@.a=='x')]filter; ops == != < <= > >= =~
[?(@.a)]field exists and is truthy

Records & forms

The Records tab lists every distinct field across all entries, not a sample — heterogeneous records are the normal case, so a field only one record carries still gets a column. Flatten nested switches the columns to dotted paths.

Pick a loaded schema under Form from and the Form button on any row builds a field-by-field editor from it: required fields lead and are marked, enums become dropdowns, booleans checkboxes, arrays of scalars one-value-per-line, arrays of objects repeatable cards, and const values are filled in read-only. Nested objects become groups; anything deeper than three levels falls back to a JSON box. Saving validates first and lets you fix or override. With no schema selected the form is built from the shape of the existing records instead, so it works on any JSON. Fields the schema does not describe are carried through untouched rather than dropped.

Shortcuts

Ctrl+Sdownload
Ctrl+Z / Ctrl+Yundo / redo structural edits
Ctrl+Enterformat
Drag & dropopen files anywhere on the page

Notes

Everything runs in your browser. No network calls, no uploads — works offline from file:// and from a static host alike. The document is kept in localStorage so a reload does not lose work.

The schema validator covers the common draft 2020-12 keywords: types, required, properties, patternProperties, additionalProperties, propertyNames, items, prefixItems, contains, enum, const, allOf/anyOf/oneOf/not, if/then/else, $ref and $defs, numeric and string bounds, and common format values. Load several schema files together and cross-file $ref resolves by $id.

Drop files to open
Edit