{ } JSON Workbench0 network requests. Check DevTools

"JSON to CSV":{ }

Paste a JSON array of objects and get a clean CSV ready for Excel or Sheets. Nested objects flatten to dot-notation columns, and the header row is the union of all keys across records. Repair-aware and 100% in-browser. No upload, no signup.

What is JSON to CSV conversion?

JSON is API-native; CSV is spreadsheet-native. Converting lets analysts open API responses in Excel or Sheets, migrate data to legacy systems, and shrink payloads. The hard part, flattening nesting and reconciling non-uniform keys, is exactly what most converters skip, so this one flattens to dot-notation columns and builds the header from the union of all keys.

Edge cases & gotchas

  • Nested arrays: scalar arrays flatten to indexed columns (tags.0, tags.1) or a joined cell; arrays of objects may need explode/pivot.
  • Values containing commas, quotes, or newlines are wrapped in double quotes with internal quotes doubled ("").
  • Column order derives from the union of keys in first-seen order, not guaranteed to match every object.
  • Nulls render as empty cells by default, not the literal null.
  • Newlines inside a field can break naive CSV readers; quoting keeps them in one cell.
  • Non-array or single-object input is treated as a one-row table.

Flattening reference

JSON shapeCSV result
Nested objectparent.child columns
Array of scalarskey.0, key.1
Missing keyblank cell
nullempty cell

How to use

  1. Paste a JSON array of objects into the Input pane, upload, or load text.
  2. If the array is nested inside a wrapper, target it (e.g. data.results).
  3. Pick a delimiter (comma, semicolon, or tab) and whether to include the header row.
  4. Convert: nested objects flatten to parent.child columns; the header is the union of all keys.
  5. Copy the result or download it as .csv.

Examples

Flat array → table

Input
[{ "id": 1, "name": "Ann" }, { "id": 2, "name": "Bob" }]
Output
id,name
1,Ann
2,Bob

Nested objects → dot-notation columns

Input
[{ "id": 1, "name": "Ann", "address": { "city": "NYC", "zip": "10001" } }]
Output
id,name,address.city,address.zip
1,Ann,NYC,10001

Missing-key union (uneven objects)

Input
[{ "id": 1, "name": "Ann" }, { "id": 2, "phone": "555" }]
Output
id,name,phone
1,Ann,
2,,555

FAQ

Why convert JSON to CSV?

To open API or NoSQL data in Excel, Google Sheets, or BI tools that require tabular input.

How are nested objects handled?

Flattened into dot-notation columns (address.city) rather than stringified into a single cell.

What happens when objects have different keys?

The header row is the union of every key seen; records missing a key get a blank cell.

Which delimiter for Excel?

Comma works for US locales; use semicolon for many European Excel installs.

Is my data uploaded?

No. It runs in your browser; verify zero network calls in DevTools.

Why is my data only partly showing?

Your array is likely nested inside a wrapper object. Point the tool at the array (e.g. response.data). Need the reverse trip? Try CSV to JSON.

Related tools