Skip to content

JSON to CSV Converter

Convert JSON arrays of objects into CSV in your browser. Pick which array becomes the rows, flatten or keep nested data, choose the delimiter, header and column order, then preview the table and copy or download the .csv file.

Text & Document Runs client-side Free to use
Jump to the tool
Share: X WhatsApp
Loading JSON to CSV Converter…

About the JSON to CSV Converter

JSON to CSV Converter turns JSON data into a comma-separated (or semicolon- or tab-separated) table. It works with a root array of objects, with an object that contains one or more arrays — you choose which array supplies the rows — and with a single flat object, which becomes one row. Each object key becomes a column, in the order the keys first appear, and you can untick or reorder columns before exporting.

CSV is a flat format, so nested objects and arrays need a decision. Flatten turns {"address": {"city": "Pune"}} into a column called address.city (the separator is configurable); Keep as JSON text writes the nested value as JSON in one cell; Stop with an error lists the rows that contain nested data. Objects are never written as “[object Object]”. Cells containing the delimiter, quotes or line breaks are quoted according to the usual CSV rules, and Unicode text is kept as-is.

How to use

  1. Paste JSON or open a .json file.
  2. Press Convert to CSV.
  3. If the JSON has several arrays, choose which one supplies the rows.
  4. Choose the delimiter, header row and how nested values are handled.
  5. Untick or reorder columns if needed, then copy or download the CSV.

Key features

  • Root arrays, arrays inside objects and single flat objects.
  • Flatten, stringify or reject nested objects and arrays.
  • Comma, semicolon, tab or a custom one-character delimiter.
  • Optional header row and column selection and ordering.
  • Correct quoting of delimiters, quotes, line breaks and Unicode.
  • Optional spreadsheet-safe mode for formula-like text.
  • Preview table, Copy CSV and Download .csv.

Best practices

  • Validate unusual JSON first if the error message is unclear.
  • Use semicolons for spreadsheet apps set to a comma decimal separator.
  • Use a flatten separator that does not appear in your key names.
  • Turn on spreadsheet-safe cells if the CSV will be opened in Excel or Sheets and comes from an untrusted source.
  • Check a few rows in the preview before using the file elsewhere.

Benefits

  • Gets API and export data into a spreadsheet quickly.
  • Clear choices for nested data instead of silent data loss.
  • Works offline once the page has loaded.
  • Private: data never leaves your browser.

Frequently asked questions

What JSON shapes are supported?

An array of objects (the most common), an object containing arrays — you choose which array provides the rows — and a single object, which becomes one row. Items in the array that are not objects, such as plain numbers, go into a column named “value”.

How are nested objects and arrays handled?

You choose. Flatten creates columns like address.city and tags.0, tags.1; Keep as JSON text puts the nested value in one cell as JSON; Stop with an error lists where nested values occur. CSV cannot represent nesting directly, so some structure is always lost.

What happens to null, true, false and numbers?

null becomes an empty cell. true, false and numbers are written exactly as they appear in the JSON, for example 3.5 or true.

How are commas, quotes and line breaks escaped?

A cell that contains the delimiter, a double quote or a line break is wrapped in double quotes, and any double quote inside it is doubled (" becomes ""). This is the standard CSV convention used by spreadsheet apps.

What is spreadsheet-safe mode?

Text that starts with =, +, - or @ can be run as a formula when a CSV is opened in a spreadsheet app. Spreadsheet-safe mode adds an apostrophe in front of such text so it is shown as text. Plain numbers such as -12 are left alone. It is off by default because it changes the cell text.

Why does my spreadsheet show strange characters?

The CSV is UTF-8. Some older spreadsheet versions assume another encoding when opening CSV files directly; use the app’s import option and choose UTF-8.

What are the limits?

Up to 5 MB of JSON, 50,000 rows, 1,000 columns and 100 levels of nesting. The preview shows the first 100 rows; the CSV contains every row.

Is my data uploaded or saved?

No. Pasted text and opened files are processed in your browser on your device. Nothing is uploaded, and data, settings and results are not saved in browser storage. Reset clears them from the page.