JSON to CSV Converter

Rows-
Columns-

CSV

How the converter works

Paste a JSON array of objects. The column headers are the keys found in the objects, in the order they first appear, and each object becomes one row; a key missing from an object leaves that cell empty. An array of arrays also works and is written row by row. Values that contain the delimiter, a double quote or a line break are wrapped in double quotes (with inner quotes doubled) so the CSV stays valid when you open it in Excel, Google Sheets or LibreOffice. Nested objects and arrays are written as JSON text inside the cell. To open the result in a spreadsheet, copy it into a file ending in .csv.

Example

JSON inputCSV output
[{"name":"Ann","age":34,"city":"Leeds"},{"name":"Bo","age":28,"city":"York, UK"}]name,age,city
Ann,34,Leeds
Bo,28,"York, UK"

FAQ

What JSON shape does it accept?

A top-level array of objects, such as [{"a":1},{"a":2}], or an array of arrays. A single object is treated as one row.

What happens to nested objects?

They are written as JSON text in a single cell, because CSV has no way to nest data. Flatten the JSON first if you need each nested key in its own column.

How do I open the CSV in Excel?

Copy the result, save it in a text file with the extension .csv and open it. If your Excel expects semicolons (common in European settings), choose semicolon here.

Why does it say invalid JSON?

The JSON must be strictly valid: keys in double quotes, no trailing commas and no comments. The message shows where the parser stopped.

Is my data uploaded?

No. The conversion runs in your browser and nothing is sent or stored.

Dates stay as the text they have in the JSON; numbers and booleans are written as plain text.

See also: CSV to JSON converter · JSON formatter · text diff checker · Base64 encoder · sort lines · all tools