CoreJSON

JSON to CSV

This JSON to CSV converter turns an array of objects into CSV you can open in Excel or WPS. Columns are the union of all rows, nested objects flatten to dot-separated column names, and comma, semicolon, pipe and tab delimiters are supported. Conversion runs locally in your browser and nothing is uploaded.

Open in the workbench Runs locally · nothing is uploaded

How to use it

  1. 1

    Paste a JSON array

    The input must be an array of objects (such as [{ "name": "Alex" }, ...]); each object becomes one CSV row.

  2. 2

    Choose a delimiter

    Comma is the default; switch to semicolon for some regional Excel setups, or tab for tab-separated data.

  3. 3

    Download or copy the CSV

    Copy the result and save it as a .csv file to open in Excel, Numbers or WPS.

  4. 4

    Check the header row

    Confirm the union of columns matches the fields you expect across all rows.

Key features

Automatic column union

When objects have differing fields, the header is the union of every field and missing cells are left empty.

Nested objects flattened

{"address":{"city":"Berlin"}} becomes an address.city column, so deep fields are visible in the table.

Automatic quoting

Cells containing commas, quotes or line breaks are wrapped in double quotes automatically for correct CSV syntax.

Scalar arrays in one column

A plain-value array such as [1,2,3] is emitted as a single value column instead of failing.

Multi-delimiter support

Comma, semicolon, pipe and tab delimiters are all available to suit different spreadsheet setups.

Local and private

Conversion runs in your browser and the data is not uploaded.

Common errors & troubleshooting

  • ! CSV can only express a table, so the root must be an array. Wrap a single object in [] first, or use the JSON to Properties tool instead.
  • ! An empty array provides no column names, so keep at least one object element.
  • ! When a field value is an array or a deep object, the cell holds its JSON text — no information is lost, but it is not directly editable in the table.
  • ! Pick a delimiter that matches how the spreadsheet is configured to avoid a single-column import.

Frequently asked questions

How is nested JSON converted to CSV?

Objects are flattened recursively with dots joining key names, so {user:{name:"Alex"}} produces a column named user.name. When a value is itself an array, the cell stores its JSON text.

What if Excel shows garbled text?

The tool outputs standard UTF-8. Some older Excel versions do not detect UTF-8 CSV automatically, so use Data → From Text and pick UTF-8, or switch to a semicolon delimiter.

Can rows with different fields be converted?

Yes. The header is the union of all row fields, missing fields are left empty and the column order follows first appearance.

Is my data uploaded?

No. Conversion happens locally in your browser.

Related tools