Paste a JSON array of objects and instantly convert it to a CSV file — copy the output or download it directly. Optionally flatten nested objects into dot-notation columns.
CSV (Comma-Separated Values) is a flat, tabular format — rows and columns. JSON can represent deeply nested, hierarchical data. Converting between them involves a few decisions:
Column headers — The converter collects every unique key found across all objects in the array and uses them as the header row. If some objects have keys that others don't, the missing cells are left empty.
Nested objects — By default, nested objects are serialized as a JSON string in a single cell. Enable Flatten nested objects to expand them into dot-notation columns (e.g. address.city, address.zip).
Arrays as values — Array values are serialized as a JSON string in one cell (e.g. ["admin","editor"]).
Special characters — Any cell value containing a comma, double quote, or newline is automatically wrapped in double quotes and internal quotes are escaped per the RFC 4180 CSV standard.
Input JSON:
[
{"id": 1, "name": "Alice", "score": 92},
{"id": 2, "name": "Bob", "score": 78}
]
Output CSV:
id,name,score
1,Alice,92
2,Bob,78
What JSON structure does this tool accept?
A top-level array of objects, e.g. [{...}, {...}]. A single object or a nested structure without an array at the root won't work as a table. If your data has a wrapper key (e.g. {"data": [{...}]}), extract the array first using the JSON Formatter & Validator to inspect the structure.
What happens if objects have different keys?
All unique keys across all objects are used as columns. Objects missing a key get an empty cell in that column.
How does flattening work?
Enabling "Flatten nested objects" expands nested objects into separate columns using dot notation. {"address":{"city":"Portland"}} becomes a column named address.city. Arrays are still serialized as strings even when flattening is enabled.
Is the output valid CSV?
Yes. Values with commas, quotes, or newlines are properly quoted and escaped per RFC 4180.
Is my data sent to a server?
No. All conversion happens locally in your browser. Nothing is transmitted anywhere.
Can I open the downloaded CSV in Excel or Google Sheets?
Yes. The .csv file can be opened directly in Excel, Google Sheets, or any spreadsheet application.
This website may contain affiliate links. If you click on an affiliate link and make a purchase, we may receive a small commission at no additional cost to you.