JSON to CSV: Convert an Array of Objects
Convert a JSON array of objects into a CSV with columns from their combined keys.
Choose a JSON array of objects to create a downloadable CSV.
A clear result starts here
Run the tool to see your output here.
Try the example to explore how it works.What to know about this tool
2 MB, 200 nesting levels; a nonempty array of objects required. Export capped at 50,000 rows, 200 columns, 1,000,000 cells and a conservative 20 MB. Duplicate properties and unsafe numeric conversion are rejected. Nested values become JSON strings; absent/null values become blank CSV cells. Formula-like cells get an apostrophe.
Instructions and examples
From input to output
- Choose or paste a nonempty JSON array of objects.
- Select Convert to CSV.
- Inspect the combined headers and rows before downloading the CSV.
Settings and result behavior
- Headers are the union of properties in first-seen order. Missing and null values become blank cells.
- Nested objects/arrays become JSON text inside a cell. This is not recursive flattening into separate columns.
- Duplicate properties and numbers that would lose precision are rejected. Formula-like output cells get an apostrophe.
A worked example
- Input
[{"id":"001","name":"Ada"},{"id":"002","name":"Lin"}]- Settings
- No mapping or type controls.
- Expected result
id,name 001,Ada 002,Lin
Supported input and limits
Choose a UTF-8 JSON or TXT file, or open “Paste JSON instead”. Use standard JSON with double-quoted strings, no comments and no trailing commas. Maximum 50,000 rows, 200 distinct columns, 1,000,000 cells and conservative 20 MB CSV output.
2 MB, 200 nesting levels; a nonempty array of objects required. Export capped at 50,000 rows, 200 columns, 1,000,000 cells and a conservative 20 MB. Duplicate properties and unsafe numeric conversion are rejected. Nested values become JSON strings; absent/null values become blank CSV cells. Formula-like cells get an apostrophe.
If the result is unexpected
- A top-level object is not accepted; supply an array of records with at least one named property.
- For an unsafe number, obtain a source representation as a quoted string if that matches its intended meaning. Do not round an identifier to pass validation.
Check before using the result
Check sparse records and nested fields. Import IDs as text; spreadsheet type inference can still remove zeros or interpret dates.
Report a problem with this tool. Include a nonsensitive example and your browser details.
Questions about this tool
Can I convert any JSON document to CSV?
Use a nonempty array of objects within the listed limits. Nested values become JSON strings; absent or null values become blank CSV cells. Review exported cells and spreadsheet formula protection.