JSON Studio
A JSON workbench: edit with syntax checks, fix broken JSON safely, see it as a 3D graph, cards, tree or table, diff it, validate a schema, query with jq, and convert to CSV, XML, YAML or SQL.
JSON
·Empty
Paste, type or import JSON — or CSV, XML, YAML and SQL — and see it as a tree, a 3D graph, cards, a table and statistics. Nothing leaves your browser.
Runs in your browser — nothing you enter leaves this device.
About this tool
What it does
JSON Studio is a workbench for JSON: an editor on the left, views and tools on the right, and one command bar above. The editor marks the exact line and column of a mistake, and Fix JSON repairs broken JSON while listing every change. The views show the document as a Tree, a Graph and Cards in 3D or 2D, a Table that flattens nested data into columns, and detailed Stats. The tools compare it with another payload side by side, validate it against a JSON Schema, query it with real jq, and write its types in twelve languages. Import and Export read and write JSON, CSV, XML, YAML, SQL and NDJSON. Keys keep their order and numbers stay exactly as typed. JSON up to 1 GB opens as a read-only large file.
How to use it
- Paste JSON, drop a file on the editor, or press Import (also for CSV, XML, YAML, SQL or NDJSON).
- If the JSON is broken, press Fix JSON: each repair is listed with its line before anything changes.
- Use the command bar: Beautify, Minify, Sort keys, Stringify and Parse, Copy, Open in another tool, and Full screen. Settings switches between icons with names and icons only, and wraps long lines.
- In Graph and Cards, pick a layout, how many items of each array to draw and how deep to go; double-click any object or array to focus on it.
- In Table, choose whether nested arrays stay as JSON, spread into columns, or become one row per item; download the table as CSV.
- Open Diff, Schema, jq or Types for deeper work, and Export to download any format.
Limits and your data
- The editor holds 5 MB. Larger JSON or JSON Lines, up to 1 GB, opens read only — text, Tree, Table, Stats, search, Types and a sampled Graph — and any value up to 2.5 MB opens in the editor. In Chrome, 100 MB opens in about 3 seconds and 500 MB in about 26; allow four times the file size in memory.
- The Graph draws 25 items of each array by default (up to all of them), and at most 4,000 values.
- Cards show at most 100 rows per card; a table card opens cards for the nested values of its first three rows, and any other row opens with a double-click.
- Fix JSON only makes repairs whose meaning is clear — comments, trailing or missing commas, quotes, unquoted keys, True/None, unclosed brackets — and refuses NaN, Infinity and bare words rather than guess.
- The Table shows 100 rows at a time (more on request); its CSV and Export include every row, up to 3 million cells.
- jq is the real jq 1.8 compiled to WebAssembly, a 330 KB download the first time. 3D needs WebGL; without it the 2D views are shown.
- Your JSON is not uploaded, logged or sent anywhere: parsing, repair, diff, schema checks, jq and every conversion run inside this page. The 3D views, the editor and jq download their code the first time you use them, and keep it. Your settings and, if you allow it, your last few inputs stay on this device. A large file stays in this tab’s memory only, and closing it frees that memory.
Questions
Can Fix JSON change my data?
It is built not to. Before offering a repair, the studio compares every key, string and number in your text with the repaired JSON. If anything would be lost or changed, it shows an error instead.
What do Stringify and Parse do?
Stringify turns the JSON into one string literal — JSON, JavaScript or bare escaped text — to paste into code or another JSON field. Parse does the reverse, even when a value was stringified several times. Both show the result first; the editor changes only when you choose.
How does flattening work?
Objects always become dotted columns such as customer.city. Arrays can stay as JSON text in one cell, spread by index (items[0].sku), or become one row per item with the surrounding fields repeated, like a SQL join.
Which languages can Types write?
TypeScript, Zod, C#, Java, Kotlin, Go, Python (Pydantic), Rust (serde), Swift (Codable), Dart, PHP and JavaScript (JSDoc), with optional and nullable fields worked out from every item.