JSON to CSV Converter

Turn a JSON array of objects into CSV with one column per key. Nested objects become columns like address.city, and quoting follows RFC 4180.

Loading tool…

About the JSON to CSV

Columns are built from the union of keys across all objects, in the order they first appear, so records with missing fields still line up and the gaps become empty cells. If the JSON is an object that wraps the array, such as {"data": {"items": [...]}}, the converter finds the array for you.

With Flatten nested keys on, {"address": {"city": "London"}} becomes a column address.city and array items become tags.0, tags.1. Turn it off to keep nested values as a JSON string in a single cell, which is easier to convert back. null becomes an empty cell.

A field is quoted when it contains the delimiter, a double quote, a line break or leading/trailing spaces; inner quotes are doubled. Choose semicolon output if your spreadsheet uses a comma as the decimal separator. The conversion runs in your browser, so API responses with private data stay on your machine.

How to use it

  1. Paste a JSON array or open a .json file.
  2. Decide whether nested objects should be flattened into dot-named columns.
  3. Choose the output delimiter.
  4. Copy the CSV or download converted.csv and open it in Excel or Sheets.

Frequently asked questions

How are nested arrays handled?
With flattening on, each element becomes its own column (tags.0, tags.1…). With it off, the whole array is written as JSON text in one cell.
Why do accented characters look wrong in Excel?
Older Excel versions assume a legacy encoding for CSV. Use Data → From Text/CSV and choose UTF-8, or open the file in Google Sheets.
What if objects have different keys?
All keys are collected into the header; objects that lack a key get an empty cell in that column.
Can I convert a single object?
Yes. An object becomes one header row and one data row. If the object contains an array of objects (e.g. a results list), that array is used as the rows instead.

Related tools