JSON to CSV Converter
Convert a JSON array of objects into CSV that opens in Excel, Google Sheets or Numbers. Every key becomes a column and every object becomes a row.
Paste an array of objects. Each object becomes a row and each key becomes a column. Use a semicolon if your spreadsheet expects commas as decimal separators.
How to Use the JSON to CSV Converter
- Paste a JSON array of objects into the input box, or click Load sample to try an example.
- Choose a delimiter: comma, semicolon or tab.
- Fix any error shown, such as invalid JSON or an item that is not an object.
- Copy the CSV or click Download CSV to save a .csv file.
Example
- Input
- [ {"name": "John", "age": 25}, {"name": "Sara", "age": 30, "city": "Lisbon"} ]
- Output
- name,age,city John,25, Sara,30,Lisbon
About the JSON to CSV Converter
APIs and databases often export data as JSON, while spreadsheets and many import tools expect CSV. This converter bridges the two for the most common case: an array where each item is an object with named fields.
Columns are built from every key found in any object, in the order they first appear. If an object is missing a field, that cell is left empty. Nested objects and arrays are written into a single cell as JSON text, and null values become empty cells. A single top-level object is converted as one row.
Cells that contain the delimiter, quotes or line breaks are wrapped in double quotes as the CSV standard requires. The downloaded file is UTF-8 with a byte order mark so Excel shows accented characters correctly. Values starting with =, +, - or @ are not altered, so be careful when opening CSV from untrusted sources in a spreadsheet. JSON.parse only reads data and your JSON is never executed or uploaded.
Frequently Asked Questions
What JSON format does the converter accept?
An array of objects, such as [{"name":"John","age":25},{"name":"Sara","age":30}]. A single object is converted as one row. Arrays of plain values, strings and numbers on their own are rejected with an error.
What happens if objects have different fields?
Every field from every object becomes a column. When an object does not have a field, its cell is left empty, and a note tells you this happened.
How are nested objects and arrays handled?
They are written as JSON text inside a single cell, for example ["a","b"]. Flatten the data first if you need separate columns.
Why does my CSV open in one column in Excel?
Some regional settings expect semicolons instead of commas. Choose the semicolon delimiter and download the file again.
Is my JSON sent to a server?
No. Conversion happens in your browser with JavaScript, and this tool does not send your data to a Usevanta server.
Related Tools
All developer tools →Format and validate JSON directly in your browser.
Beautify, validate or minify XML without rendering it.
Test JavaScript regular expressions with highlighted matches and capture groups.
Encode text to Base64 or decode Base64 back to readable text.