JSON to CSV Converter

Turn a JSON list into a spreadsheet-ready CSV, nested fields included.

Runs in your browser
JSON
Drop file to load it
EmptySaved locally
CSV
Ready
Semicolon suits Excel in many European locales.
Otherwise nested values are written as JSON text.
More options (5)
Try an example:

How to use the JSON to CSV Converter

  1. Paste a JSON array of objects, or open or drop a .json file on the left.
  2. The CSV appears on the right immediately, with one column for every key found in any row.
  3. Choose comma, semicolon or tab, and decide whether nested objects become dot columns.
  4. Copy the CSV or download it and open it in Excel, Numbers or Google Sheets.

Examples

About this tool

APIs and databases speak JSON, but colleagues, accountants and spreadsheet apps prefer rows and columns. This converter reads a JSON array, collects every key that appears in any object, and writes one CSV row per item. Missing keys simply leave an empty cell, so records with different shapes still line up.

Nested objects are flattened into dot-separated columns: {"customer": {"city": "Berlin"}} becomes a customer.city column. Arrays are kept as compact JSON text by default, or can be spread across numbered columns. Values that contain the delimiter, quotes or line breaks are quoted correctly, so the file opens cleanly everywhere.

Tip: if Excel shows everything in one column or mangles accented letters, switch to the semicolon delimiter or enable the BOM option under More options.

This tool runs entirely in your browser. What you type or open is never sent to a server.

Frequently asked questions

What JSON shapes are supported?

An array of objects works best. A single object becomes one row, an array of arrays is written as-is, a list of plain values becomes a single "value" column, and an object that only wraps one list (like {"data": […]}) is unwrapped automatically.

How are nested objects handled?

With flattening on, each nested field gets its own column named with dots, such as address.zip. With it off, the whole nested object is written into one cell as JSON text.

Is my data sent to a server?

No. The conversion is done by JavaScript running in this page. Your JSON stays on your device, so it is safe to use with customer or internal data.

Why does Excel put everything in one column?

Excel uses your system list separator. In many European locales that is a semicolon, so choose the semicolon delimiter, or use Data → From Text/CSV and pick comma when importing.

Is the column order preserved?

Yes. Columns appear in the order keys are first seen, starting with the first object, and new keys from later rows are added at the end.