JSON to CSV Converter

Paste a JSON array and get a clean CSV file instantly.

JSON Input
CSV Output
CSV output will appear here

About the JSON to CSV Converter

This tool converts JSON to CSV, flattening an array of objects into rows and columns. Nested objects become dotted column names and keys are collected across every record, so an API response opens straight in Excel, Sheets or Numbers without any hand-editing first.

Convert JSON to CSV when structured data has to reach someone who works in a spreadsheet. An API response, a log export or a database dump is fine as JSON for code, but a colleague in finance or ops wants columns they can sort and filter.

Nesting is the awkward part. An object inside an object is flattened to a dotted column name — user.address.city becomes one column — so nothing is lost and no cell contains raw JSON. Keys are collected across every record, so objects with different fields still line up into a consistent header row.

Fields containing commas, quotes or line breaks are escaped to the CSV standard, which means the file opens cleanly in Excel instead of splitting a description across three columns.

How to use the JSON to CSV Converter

  1. Paste your JSON. Provide a JSON array of objects, or a single object.
  2. Convert. Keys are collected across all records to build the header row.
  3. Review the columns. Check the flattened column names, including dotted names from nested objects.
  4. Take the CSV. Copy it or download the file and open it in Excel, Sheets or Numbers.

JSON to CSV Converter features

  • Nested objects flattened to dotted column names
  • Header row is the union of keys across every record
  • Arrays inside a record serialised into the cell
  • Commas, quotes and line breaks escaped
  • A single object is accepted as one row
  • Copy the result or download it as a .csv

Frequently asked questions

How are nested objects handled?

They are flattened into dotted column names, so user.address.city becomes a single column rather than raw JSON in a cell.

What if my objects have different keys?

Every key found in any record appears in the header row, in the order first encountered, and records missing a field get an empty cell. No column is dropped just because it is absent from the first record.

Are commas inside values escaped?

Yes. Values containing commas, quotes or line breaks are quoted and escaped so the CSV opens correctly in Excel.

Does it accept a single object rather than an array?

Yes. A single JSON object is treated as one row, so you do not need to wrap it in square brackets first.

How are arrays inside records handled?

An array value is written into the cell as JSON, so nothing is lost and it can be parsed back later. Split the array beforehand if you need one row per item.

Is my JSON uploaded?

Yes — this converter runs on our server, so the JSON is sent there to be converted and is not retained afterwards. If you would rather nothing left the browser, the JSON tree viewer and JSON diff both run locally.