How to use the JSON to CSV Converter
- Paste a non-empty JSON array of objects. For example, each object can represent one spreadsheet row.
- The converter gathers all property names as columns. Missing or null values become empty cells; nested objects and arrays become JSON text in a cell.
- Copy the output or choose Download to save a .csv file, then import it into your spreadsheet application.
What this tool does
JSON can represent nested objects, but CSV is a flat table. This converter uses top-level object keys as column headers and preserves nested structures as JSON strings instead of flattening them into ambiguous column names. It uses commas between columns and CRLF line endings between rows. Input must be a non-empty array of objects with at least one property across the array.
A working example
Choose Try an example above to load this input into the converter.
Input
[{"name":"Alex","role":"Designer","active":true},{"name":"Jordan","role":"Product, Strategy","active":false}]Output
name,role,active
Alex,Designer,true
Jordan,"Product, Strategy",falseCommon errors and practical limits
- A single object, an array of numbers, or an empty array cannot form the expected table. Wrap row objects in a non-empty array.
- Invalid JSON must be fixed before conversion. Check quotes, trailing commas and unmatched brackets.
- Spreadsheet programs may interpret cells beginning with =, +, - or @ as formulas. Import untrusted CSV columns as text; this converter preserves source values and does not neutralize formulas.
Frequently asked questions
What happens if objects have different keys?
The output includes the union of all top-level keys, in first-seen order. An object without a particular key gets an empty cell in that column.
Can nested JSON become CSV?
Nested objects and arrays are serialized as JSON text inside a quoted cell. This tool does not automatically flatten nested paths into separate columns.
Will my spreadsheet preserve leading zeros?
The CSV file contains the string value, but spreadsheet software can still infer numeric types on import. Set identifier and phone-number columns to text when importing.
Is my input uploaded?
Conversions run on your device. No account is required, and input is not uploaded automatically. The optional Appwrite connection checks service availability at startup; only choosing to save a cloud snippet sends workspace content to your account.