Paste a JSON array and get a CSV file that opens in Excel, Numbers or Google Sheets, or paste a CSV and get JSON back. Nested objects are flattened into dotted column names, cells are quoted the way the CSV standard asks, and a marker can be added so Excel reads accents and non-Latin letters correctly. Handy for moving data between an API, a store export and a spreadsheet.
JSON describes trees: an order can hold a customer, which holds an address, which holds a list of phone numbers. A spreadsheet has only rows and columns. Converting means choosing how to squeeze the tree into a grid, and the usual choice is to give every leaf value its own column named by the path to it.
That works well for records of the same shape, such as products or contacts. It works badly for lists of different length, because the column count then depends on the longest list. If a record has many repeated children, such as order lines, it is usually cleaner to export those as a second CSV.
Three small things cause most CSV problems. The first is the delimiter: a comma-separated file opened on a computer set to a locale where the comma is the decimal mark will land in a single column. The second is encoding: without a marker at the start, Excel may assume an old Windows encoding and garble accents. The third is quoting: a missing quote around a cell that contains a comma shifts every column after it.
This converter handles all three. It quotes cells that need it, lets you choose the delimiter, and can prepend the byte-order mark that tells Excel the file is UTF-8. If you only need to paste the text into a script or a database tool, switch the marker off so no invisible character is added.
Paste the JSON array, keep JSON to CSV selected and copy the result. The first row holds the column names, taken from the keys of your objects, and every object becomes one row.
With Flatten on, each nested value gets its own column named by its path, so {"user":{"name":"Ann"}} becomes a column user.name, and a list becomes user.tags.0, user.tags.1 and so on. With Flatten off, the nested value is written into a single cell as JSON text.
A cell that contains the delimiter, a double quote or a line break is wrapped in double quotes, and any double quote inside it is doubled. For example, Rome, IT becomes "Rome, IT" and 5" screen becomes "5"" screen". This is the rule in RFC 4180, the CSV standard.
Yes. The first row is read as the headers. With Flatten on, a header like user.name is rebuilt into a nested object. Values that look like numbers, true, false or null are given those types.
No. The conversion runs in your browser, so customer lists and exports never leave your device.
Related: JSON formatter, HTML table generator, Base64 encoder and decoder.
Start for free or see all free tools. We.Inc is free to start, with no card needed. AI building is on paid plans from $20 a month.
We.Inc is an AI-powered website builder you can resell under your own brand. Launch a branded client dashboard, bill on Stripe Connect, and deliver AI-generated websites in minutes. White-label plans start at $99 a month for 25 client sites, with a 7-day free trial and no per-site fees.