JSON to CSV Converter
Paste a JSON array of objects and convert it to CSV instantly. Nested objects are flattened with dot-notation column names. Download or copy the output ready for Excel, Google Sheets, or any data tool.
Last updated: May 21, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is JSON to CSV Converter?
JSON arrays of objects are the most common format for API responses and data exports, but spreadsheets, databases, and most data analysis tools work best with flat CSV. Converting a JSON array to CSV means mapping each object to a row and each key to a column.
This converter handles the common challenges: nested objects are flattened to dot-notation columns (e.g. address.city), arrays within values are joined with " | " as a separator, and null or missing values become empty cells. A single JSON object (not an array) produces a single CSV row. If the input is a JSON object containing an array, that array is used as the row source automatically.
How to Use JSON to CSV Converter
Paste JSON into the input area or click "Load Sample"
Toggle "Flatten Nested" to expand nested objects into dot-notation columns
Toggle the header row on or off
Choose quoting mode: Minimal or Always
Copy the CSV output or download it as a .csv file
Common Use Cases
- Developers converting JSON API responses to CSV for import into Excel or Google Sheets.
- Data analysts flattening JSON data exports for analysis in pandas or R.
- Back-end engineers converting database query results (returned as JSON) to CSV for reporting.
- Product managers turning JSON analytics event data into spreadsheets for stakeholder review.
- ETL engineers transforming JSON source data to flat CSV for loading into data warehouses.
- QA engineers exporting JSON test result objects to CSV for tracking and filtering.
Example Input and Output
A JSON array of user objects with a nested address is converted to flat CSV with dot-notation columns.
[
{ "id": 1, "name": "Alice", "address": { "city": "London", "country": "UK" } },
{ "id": 2, "name": "Bob", "address": { "city": "Paris", "country": "FR" } }
]id,name,address.city,address.country
1,Alice,London,UK
2,Bob,Paris,FRPrivacy
All JSON parsing and CSV conversion runs in your browser. No data is uploaded to any server.
Opening in Excel
Download the .csv file and open it directly in Excel or Google Sheets. If numbers are being treated as text, format the column as "Number" in the spreadsheet after import.

