Large files are kept out of the editor so typing stays smooth. Hit the button below to process it.
Aempty
file.json
Bempty
file.json
Or press Ctrl+Enter · max 50MB
Formatted
No differences — these two documents hold the same value.
{ }
Your formatted JSON will appear here.
Two-space indent, syntax highlighted, ready to copy.
That doesn’t look like valid JSON
Preview truncated for speed — the full document is intact. Use Copy or Download to get all of it.
Convert a JSON array into a spreadsheet
Paste a JSON array of objects and press Convert to CSV. You get a preview table of the first 20 rows to sanity-check the shape, and a .csv download containing every row. The download carries a UTF-8 byte order mark so Excel opens accented characters correctly instead of mangling them.
Everything runs in your browser. Your JSON is parsed by a Web Worker on your own machine and never sent anywhere — there is no upload, no account, and no server-side processing. You can check: open the network tab and format a file, and you will see no requests.
How nested data is handled
Columns are the union of every object’s keys, in first-seen order, so objects with missing or extra fields convert cleanly — a key one row lacks simply becomes an empty cell. Nested objects are flattened with dot notation, so {"address":{"city":"London"}} becomes a column named address.city. Arrays are kept as JSON inside a single cell rather than exploded into extra rows, which keeps the row count equal to your array length.
Correct CSV, not string concatenation
Values containing commas, quotes or newlines are quoted and escaped per RFC 4180, and rows end with CRLF, so the output opens correctly in Excel, Google Sheets, Numbers and pandas. Empty objects and empty arrays are written as {} and [] so they stay distinguishable from a genuinely missing value.
Questions
What JSON shape does it need?
A top-level array of objects. Anything else — a single object, an array of numbers — gets an explanation of what is wrong rather than a broken file.
What happens to nested arrays?
They are written as JSON text inside one cell, for example "[1,2,3]". Exploding them into additional rows is not supported.
How are null values written?
As empty cells. false, 0 and "" are written literally, so they remain distinguishable from null.
Is there a row limit?
No. The preview table shows the first 20 rows and 40 columns for speed, but Copy and Download always contain every row.
Found a bug? Want another tool?
This site has no accounts, no analytics and no error reporting — which also means nothing
tells me when something breaks. If a file failed to parse, a conversion came out wrong, or
you keep reaching for a tool that isn’t here yet, send it over and it gets looked at.