JSON

How to Convert JSON to CSV

Published June 12, 2026 · 3 min read · By DownloadReels

Converting JSON to CSV turns a list of records into a spreadsheet-friendly table: each object becomes a row and each key becomes a column. To convert JSON to CSV, paste a JSON array of objects into a converter, pick your delimiter, and download the CSV. Here is how to do it and how tricky values are handled.

1
Paste a JSON array

Provide an array of objects like [{"id":1,"name":"Ada"}].

2
Choose a delimiter

Comma is standard; pick semicolon for some locales or tab for TSV.

3
Convert

Keys become the header columns and each object becomes a row, with values escaped correctly.

4
Download

Save the .csv and open it in Excel, Google Sheets or Numbers.

What JSON shape converts to CSV?

CSV is a flat table, so the input should be a JSON array of objects. The converter takes the union of all keys as the columns, so rows with missing keys simply get empty cells. Nested objects or arrays in a value are kept as JSON text in that cell. Tidy the input first with the JSON formatter if needed.

How are commas and quotes handled?

Any value containing the delimiter, a double quote or a line break is wrapped in double quotes, and inner quotes are doubled — exactly as the CSV standard requires. That means a value like likes, commas stays in one cell. The JSON to CSV tool does this automatically so your file opens cleanly.

Tip: If your CSV looks wrong in Excel in some regions, switch the delimiter to semicolon — several locales expect that instead of a comma.

Convert JSON to CSV now

Paste a JSON array and download a clean CSV for Excel or Sheets — free, in your browser.

Open the JSON to CSV tool →

Frequently Asked Questions

How do I convert JSON to CSV?

Paste a JSON array of objects into a converter, choose a delimiter, and download the CSV. Keys become columns and objects become rows.

What happens to nested data?

Nested objects and arrays are kept as JSON text inside the cell, since CSV is a flat format.

Is my data uploaded?

No — the conversion runs in your browser, so nothing is sent to a server.

Related guides