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.
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.
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.
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”.
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.
null becomes an empty cell. true, false and numbers are written exactly as they appear in the JSON, for example 3.5 or true.
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.
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.
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.
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.
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.