DocTransform

Free tool

Convert JSON to CSV

Drop a JSON file and download a CSV with one row per record, ready for Excel or any import.

Drop your JSON file here

JSON or JSON Lines. Up to 50 MB.

Free, no sign-up. Your file is read in this browser tab and never uploaded.

Nested fields become their own columns (address.city), lists of values share one cell (red, blue), and lists of records get numbered columns (items.1.price).

Before
[
  {"id": 1, "name": "Ana",
   "address": {"city": "Lyon"},
   "tags": ["vip", "new"]},
  {"id": 2, "name": "Ben",
   "address": {"city": "Oslo"},
   "tags": []}
]
After

How to convert JSON to CSV in Excel

  1. In Excel for Windows (2016 or later), choose Data, Get Data, From File, From JSON, and pick your file.
  2. In the Power Query window, click To Table, then OK.
  3. Click the two-arrow button in a column header that shows Record, then OK. Repeat until no column shows Record.
  4. For a column that shows List, click its two-arrow button, choose Extract Values, pick Comma and click OK, so the list stays in one cell.
  5. Click Close & Load, then choose File, Save As, CSV UTF-8 (Comma delimited).

Or drop the file at the top of this page and skip these steps.

Questions

Is my file uploaded?

No. The file is read and converted by this page inside your browser tab. Nothing is sent to a server.

What happens to nested data?

Each record becomes one row. Nested fields become their own columns (address.city), lists of values share one cell (red, blue), and lists of records get numbered columns (items.1.price). If the records sit inside a wrapper, like {"data": [...]}, the rows come from that list and the summary says so. JSON Lines files work too.

Comma or semicolon: which should I pick?

Comma, unless the file is for Excel in much of Europe, which expects semicolons. Numbers are not changed either way. Accents open correctly in Excel with both.

Is there a size limit?

Up to 50 MB and about 20 million cells (rows times columns) per file. A bigger file is refused whole, never cut short, because a browser tab runs out of memory.

More from DocTransform

Convert a file

Fix or check a CSV