Skip to content

JSON to CSV Converter

Turn a JSON array of objects into a CSV file you can open in Excel, Google Sheets or any database import. Nested objects are flattened into dotted columns, values are quoted correctly, and you choose the delimiter.

Runs in your browserFreeNo sign-up

Processed on your device. Files and text stay in your browser and are not uploaded to our servers. How privacy works

How to use the JSON to CSV Converter

  1. Paste a JSON array of objects, for example an API response. A single object or an object containing an array also works.
  2. Pick the delimiter your spreadsheet expects: comma for most tools, semicolon for Excel in many European locales, tab for TSV.
  3. Keep Flatten on to turn nested objects into columns such as address.city; turn it off to keep nested values as JSON text in one cell.
  4. Copy the CSV or download data.csv. Switch on the UTF-8 BOM option if Excel shows accented characters incorrectly.

Features

  • Flattens nested objects and arrays into dot-notation columns
  • Column set is the union of all keys, in first-seen order; missing values are left empty
  • RFC 4180 quoting for commas, quotes and line breaks inside values
  • Comma, semicolon, tab or pipe delimiters
  • Optional header row and Excel-friendly byte order mark

How nested data is handled

CSV is flat, JSON isn't. With flattening on, { "user": { "name": "A" } } becomes a column called user.name, and ["x", "y"] becomes tags.0 and tags.1. Records that lack a key simply get an empty cell in that column. With flattening off, nested values are written as JSON strings, which keeps the structure intact if you plan to parse it again later.

Opening the file in Excel

Excel guesses the encoding of CSV files and often gets UTF-8 wrong, turning é into é. The UTF-8 BOM option adds an invisible marker that tells Excel the encoding. Excel in some regions also expects semicolons rather than commas; choose the semicolon delimiter if columns don't separate.

Frequently asked questions

My JSON is an object, not an array. Can I still convert it?

Yes. A single object becomes one row. An object that contains an array of objects (such as { "data": [...] }) uses that array as the rows.

How are arrays of primitives handled?

With flattening on they become indexed columns (tags.0, tags.1, ...). With flattening off the whole array is written as a JSON string in one cell.

Can I go from CSV back to JSON?

A CSV to JSON tool is planned. For now, spreadsheets and most languages can import CSV directly.

Is my data uploaded?

No. The conversion runs in your browser.

Other tools people use alongside JSON to CSV Converter.

You might also like

Something useful from another corner of VoltKit.