curly{bits}

Format, validate and convert JSON. Nothing leaves your browser.

curlybits / JSON to CSV

JSON to CSV Converter

Turn an array of JSON objects into a CSV you can open in Excel or Google Sheets. Nested fields become their own columns automatically.

Input JSON (array of objects)
CSV output

      

How to use the JSON to CSV Converter

  1. Paste a JSON array of objects, or an object that contains one (like an API response with a data or results array).
  2. Choose a delimiter. Use semicolon if your Excel uses commas as the decimal separator.
  3. Click Copy, paste into a text file saved as .csv, or paste straight into a spreadsheet.

How nested JSON is flattened

CSV is a flat table, so nested objects are turned into columns with dotted names:

[{"id":1,"customer":{"name":"Ann","city":"Bangkok"}}]

becomes

id,customer.name,customer.city
1,Ann,Bangkok
  • Arrays of simple values are joined with ; into one cell.
  • Arrays of objects are kept as a JSON string in one cell.
  • Missing keys become empty cells, so rows with different fields still line up.
  • Cells containing the delimiter, quotes or line breaks are quoted per RFC 4180.

Frequently asked questions

What JSON shape does the converter need?

An array of objects works best. If you paste an object, the first array inside it is used; a single object becomes one row.

Can I open the CSV in Excel?

Yes. If Excel puts everything in one column, switch the delimiter to semicolon, which is common in regions that use a comma as the decimal mark.

What happens to nested arrays?

Arrays of plain values are joined with semicolons in one cell. Arrays of objects are stored as JSON text in one cell.

Is my data uploaded?

No. Conversion runs in your browser, so it's safe for private exports and customer data.

Add this json to csv to your website

Free for blogs, schools and businesses. Copy the code below and paste it into your page's HTML. The tool works exactly like this one and runs in your visitors' browsers, so nothing is uploaded. Please keep the credit line so others can find it too.

Preview embed ↗