JSON Tools

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.

JSON array input
JSON
CSV output
Nested objects are flattened using dot notation (e.g. address.city); arrays inside a record are kept as a JSON string in one cell. Every record's array item must be an object.
Paste a JSON array of objects.

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

01

Paste a JSON array of objects

Each object becomes one row; keys become columns automatically.

02

Review the CSV output

Nested objects appear as dot-notation columns; arrays are kept as a JSON string per cell.

03

Copy or download

Copy directly, or download as a .csv file ready to open in a spreadsheet.

Example

JSON
[
  {"name":"John","age":30,"city":"Delhi"},
  {"name":"Jane","age":28,"city":"Mumbai"}
]
CSV
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.

Frequently asked questions

Related tools

Related articles