JSON to CSV Converter
Convert a JSON array of objects into CSV, with correct quoting for commas, quotes, and newlines inside values.
Use the tool ↓Your data is processed locally in your browser and is not uploaded to our servers.
address.city); arrays inside a record are kept as a JSON string in one cell. Every record's array item must be an object.About this tool
JSON and CSV solve overlapping problems in different shapes. JSON handles arbitrary nesting naturally — objects inside objects, arrays inside arrays — while CSV is fundamentally flat: rows and columns, nothing more. Converting from one to the other means making a deliberate decision about how to collapse that structure, and this tool's approach is a common, predictable one: each object in your JSON array becomes one CSV row, and each of its top-level (and flattened nested) keys becomes a column.
For nested objects specifically, the converter flattens them using dot notation — a record like {"address": {"city": "Delhi", "zip": "110001"}} becomes two columns, address.city and address.zip, rather than one column holding a JSON blob. This keeps the resulting spreadsheet genuinely usable in a tool like Excel or Google Sheets, where you actually want each piece of data in its own column, sortable and filterable independently. Arrays nested inside a record are handled differently: since a spreadsheet cell can't naturally represent a variable-length list, an array value is serialized as a JSON string within its single cell — a documented tradeoff, not a silent one, so you know exactly what to expect rather than discovering it as a surprise in the output.
Column names are determined automatically by scanning every object in the array and collecting every key (including flattened nested keys) that appears anywhere, in the order first encountered — which means records with different shapes still produce one consistent set of columns, with empty cells for any record missing a given field. This handles the common real-world case of an API returning records where optional fields are sometimes present and sometimes omitted.
Correct CSV quoting is where naive converters most often go wrong: a value containing a comma, a double quote, or a newline has to be wrapped in quotes, with any internal quote doubled — She said "hi" becomes "She said ""hi""" in the output. This tool implements that quoting rule precisely, and the CSV it produces round-trips cleanly back into JSON through this hub's own CSV to JSON tool. Everything runs locally in your browser; nothing you paste is uploaded anywhere.
How to use it
Paste a JSON array of objects
Each object becomes one row; keys become columns automatically.
Review the CSV output
Nested objects appear as dot-notation columns; arrays are kept as a JSON string per cell.
Copy or download
Copy directly, or download as a .csv file ready to open in a spreadsheet.
Example
[
{"name":"John","age":30,"city":"Delhi"},
{"name":"Jane","age":28,"city":"Mumbai"}
]name,age,city John,30,Delhi Jane,28,Mumbai
Common use cases
Exporting API data to Excel
Turn a JSON API response into a spreadsheet stakeholders can open directly.
Preparing data for import
Convert JSON records into CSV for a system that only accepts CSV import.
Sharing data with non-developers
Give a colleague a spreadsheet instead of a raw JSON file.
Quick reporting
Convert a JSON dataset to CSV for a fast pivot table or chart.
Database export review
Check a JSON export by opening it as a familiar spreadsheet.
Bulk data editing
Convert to CSV, edit in a spreadsheet, then convert back with CSV to JSON.