Convert nested JSON to CSV without losing fields
Choose between flattened columns and JSON cells, preserve arrays and review missing values before exporting.
Maintained by Toolbench · Updated 10 October 2026
Start with an array of records
A CSV table needs rows and columns. Start with a JSON array whose items are objects, rather than a single nested API envelope. If the response stores records under data or results, copy that array into the converter. Keep a copy of the source so you can verify the exported values.
Choose records with missing fields, nulls, arrays and nested objects for your first test. A sample containing only the simplest row can hide the conversion decisions that matter in a real export.
[{"name":"Alice","address":{"city":"Paris"},"tags":["new"]},{"name":"Bob","address":{"city":"Berlin"},"tags":[]}]Choose a nested-object policy
With Flatten nested objects enabled, address.city becomes its own column. Arrays remain JSON strings rather than multiplying the number of rows. An empty object also remains JSON text, because it has no leaf fields to flatten.
Disable flattening when your destination can consume a complete object in a JSON-valued cell. Dot-separated paths can conflict with literal field names such as address.city; the converter rejects collisions. Use nested cells when your source contains ambiguous paths.
name,address.city,tags Alice,Paris,"[""new""]" Bob,Berlin,[]
Control columns and separators
Leave Columns blank to include the union of fields found in all records. To produce a stable import layout, enter a comma-separated column list in the order your destination expects. This control cannot individually select a field with a literal comma in its name; leave it blank to retain all such fields.
Choose the output delimiter according to the importer. The converter quotes values containing that delimiter, line breaks or double quotes. If a spreadsheet expects semicolons, select semicolon rather than replacing commas in the generated file.
Check what CSV cannot represent
Missing properties and null become empty cells in this export. CSV does not carry a type schema, so the string 30 and the number 30 can have the same textual representation. Preserve important identifiers as strings, and define a NULL convention with the destination before importing.
Reopen a small exported batch, count the rows, compare nested values and check commas, quotes and line breaks. CSV to JSON can verify cell values, but it cannot recover distinctions already lost in the export. For a strict contract, generate a JSON Schema from representative examples and review it against the actual data model.