CSV to JSON Converter
Turn spreadsheet data into JSON, or JSON records back into CSV rows.
Turn a JSON array into a spreadsheet-ready CSV.
Flattening turns {"a":{"b":1}} into a column named a.b.
A BOM makes Excel read accented characters correctly.
JSON to CSV Converter takes an array of objects and produces a CSV you can open in Excel, Google Sheets or Numbers. It is the step between an API response and somebody who wants to look at the data in a spreadsheet.
Two things make this conversion harder than it looks, and both are handled here. The first is that JSON objects need not all have the same keys: one record has a middle name, the next does not. The columns are built from the union of every key seen, so nothing is silently dropped and missing values become empty cells rather than shifting the row.
The second is nesting. CSV is flat and JSON is not, so an object inside an object has to go somewhere. Nested fields are flattened into dotted column names, so a user object containing an address containing a city becomes a column called user.address.city. Arrays are either expanded into numbered columns or joined into one cell, whichever you choose.
Quoting is handled properly throughout. A field containing a comma, a quote mark or a line break is wrapped and escaped the way the CSV convention requires, so the file opens correctly instead of exploding into the wrong number of columns.
Everything runs inside your browser. Nothing you paste is uploaded, logged or stored, which matters when the input is a client list, an internal URL map or anything else you would not post publicly.
The json to csv converter is used by writers, developers, students, marketers and anyone else who needs the job done once without installing software. Common cases include:
An array of objects, which is what an API list endpoint usually returns. A single object produces a one-row CSV. An array of plain values produces a single column.
They are flattened into dotted column names, so address.city becomes its own column. You can switch that off and keep the nested value as JSON text in one cell instead.
Columns are built from the union of all keys, so no field is lost. Records missing a key get an empty cell in that column rather than a shifted row.
Usually a delimiter mismatch: many European Excel installations expect semicolons. Switch the output delimiter to semicolon and it will open correctly.
Yes. Any field containing a comma, a quote or a line break is quoted and escaped the way the CSV convention requires.
No. The conversion runs in your browser, which is why it is safe to paste production data into it.
If the json to csv converter is not quite what you need, these other free tools solve closely related problems.
Turn spreadsheet data into JSON, or JSON records back into CSV rows.
Pretty-print and validate JSON, with the exact line and column of any error.
View CSV data as a proper table you can sort, search and page through.
Fix delimiters, trim fields, remove empty rows and re-quote CSV properly.
Turn JSON into indented, well-formed XML with proper escaping.