JSON to CSV Converter

Turn an array of JSON objects into CSV you can open in Excel or Google Sheets, with nested fields flattened into columns.

JSON
CSV
Runs locally in your browser

About the JSON to CSV Converter

The natural CSV shape of JSON is an array of objects: each object is a row and the union of all keys is the header. This converter builds that header in first-seen order, so the columns match the order of keys in your first record, and fills blanks for rows that lack a key. A single top-level object is treated as one row, and an object whose values are all objects is treated as a keyed table.

Nested objects and arrays are flattened into dotted column names by default, so {"dimensions":{"height":14}} becomes a column called dimensions.height. Untick the flatten option if you would rather keep nested values as JSON text inside a single cell. Fields containing the delimiter, quotes or line breaks are quoted and inner quotes doubled, following RFC 4180, and there is a switch to quote every field for tools that require it.

Pick a semicolon delimiter if your spreadsheet uses a comma as the decimal separator (most European locales), or tab for a TSV. The output has no byte-order mark; if Excel shows accented characters wrongly, import the file through Data → From Text and choose UTF-8.

How to use

  1. Paste a JSON array (or an object) on the left, or upload a .json file.
  2. Choose the delimiter your spreadsheet expects and decide whether nested objects should be flattened.
  3. Download the CSV or copy it. Swap sends it to CSV to JSON to verify the round trip.

Common questions

My JSON has nested objects. What happens to them?
With flattening on, each nested key becomes its own column with a dotted name such as address.city. Arrays are flattened with numeric indexes: tags.0, tags.1. With flattening off, the nested value is written as JSON text in one cell.
Why are some cells empty?
Not every object has every key. The header is the union of keys across all rows, so a row without a given key gets an empty cell in that column.
Can I convert JSON to Excel directly?
Excel opens CSV files. Download the CSV and open it, or use the semicolon delimiter if your Excel locale expects it. For a native .xlsx file use the JSON to Excel tool.
How are dates and numbers handled?
They are written exactly as they appear in the JSON. Numbers are not reformatted and ISO dates are not converted, so the CSV is a faithful copy.