MinifyPic

JSON to CSV

Turn a JSON array into a proper CSV file that Excel and Google Sheets will open cleanly — headers detected automatically.

FreeExcel-readyNo upload
Loading tool…

How it works

A compact workflow from input to download.

1

Paste your JSON array

Paste an array of objects — the shape almost every API returns for a list of records.

2

Convert

Keys become column headers, each object becomes a row, and values are quoted and escaped correctly.

3

Open in a spreadsheet

Copy or download the CSV and open it in Excel, Google Sheets, Numbers or anything else.

Frequently asked questions

What JSON shape does it expect?
An array of objects, which is what an API returns when it gives you a list of records. Each object becomes one row and each key becomes one column. A single bare object or a deeply nested structure does not map naturally onto a flat grid.
How are nested objects handled?
A spreadsheet is two-dimensional and JSON is a tree, so something has to give. Nested values are flattened or serialised into a single cell. If your data is deeply nested and you need every field as its own column, flatten it in code before converting — no automatic mapping can guess the structure you actually want.
What happens to commas inside values?
They are handled correctly. Any value containing a comma, a double quote or a line break is wrapped in double quotes, and internal quotes are escaped by doubling them, which is what the CSV convention requires. This is precisely the detail that naive converters get wrong and that silently corrupts spreadsheets.
Is my data sent to a server?
No. Everything runs in JavaScript inside your own browser tab — nothing is uploaded, logged or stored. That is what makes it safe to paste in API responses, config files, tokens and other material you could not send to a third-party service.

Two formats with genuinely different shapes

The friction in this conversion is structural, not cosmetic. CSV is a grid: rows and columns, every row with the same fields, no hierarchy, no types — everything is ultimately text. JSON is a tree: objects can nest inside objects, arrays can hold arrays, different records can carry different fields, and values have real types. Flattening a tree into a grid necessarily loses information, and the interesting question is always which information you are prepared to lose. A flat array of uniform objects converts perfectly, because it was already a grid wearing JSON's clothes. Anything genuinely hierarchical requires a decision about how to project it, and that decision belongs to you rather than to a converter guessing.

The escaping rules that quietly destroy data

CSV's apparent simplicity hides a specification that a surprising amount of software gets wrong. A comma inside a value would otherwise look like a column boundary, so the value must be quoted. A double quote inside a quoted value must be escaped by doubling it. A line break inside a value is legal but only within quotes, and plenty of parsers fall over on it anyway. Get any of this wrong and you do not get an error — you get a spreadsheet where one row has silently split into two, or a column has shifted, and nobody notices until a report is wrong three weeks later. Correct quoting is the least glamorous and most important part of writing CSV.