JSON to CSV

Flatten an array of JSON objects — or a single object — into a downloadable CSV file. Nested objects and arrays are flattened automatically.

Input (JSON)
Output (CSV)READY

Smart Flattening

Nested objects and arrays flatten into dot-notation columns automatically.

Handles Large Datasets

Conversions over 200KB run in a Web Worker to keep the UI responsive.

Local Processing

Your data never leaves your browser. Privacy first conversion.

How to Convert JSON to CSV

  1. Paste a JSON array of objects — the typical shape of an API list response or database export. A single object works too.
  2. Click Convert.
  3. Review the CSV in the output pane: one row per object, with nested fields flattened into dot-notation columns.
  4. Click Download to save it as data.csv, or Copy to paste it straight into a spreadsheet.

Example: Flattening Nested Contacts for a Spreadsheet

Input — array with nested objects and arrays

[
  {"name":"Asha","contact":{"email":"[email protected]"},"tags":["lead"]},
  {"name":"Bruno","contact":{"email":"[email protected]"},"tags":["customer","eu"]}
]

Output — CSV

name,contact.email,tags.0,tags.1
Asha,[email protected],lead,
Bruno,[email protected],customer,eu

The nested email becomes a contact.email column, and arrays become indexed columns (tags.0, tags.1). Asha has only one tag, so her tags.1 cell is simply empty.

How flattening handles ragged data

Column headers are the union of every flattened key across all rows — an object missing a field just gets an empty cell, and the longest array in the data decides how many indexed columns exist. That means real-world inconsistent data converts without errors, and you can see at a glance in the spreadsheet which records were missing what.

Spreadsheet-ready output

Rows are separated with CRLF line endings per RFC 4180 — the convention Excel, Google Sheets, and most CSV importers expect — so the downloaded data.csv opens cleanly without a manual import wizard in the common case.

Frequently Asked Questions

Related Tools