# JSON to CSV Converter: Flatten Nested JSON, Free

> Convert JSON to CSV in your browser. Nested objects become columns like address.city; lists stay in one cell or spread out. Also exports Excel. No upload.

https://www.kortex-notebooklm.com/tools/json-to-csv

[Free tools](/tools)

# Convert JSON to CSV

Paste a JSON array and get a CSV you can open in Excel or Google Sheets. Nested objects become columns like address.city. Lists stay in one cell or spread across columns.

-   Free, no sign-up
-   Runs in your browser. Your files never leave your device.
-   Updated November 10, 2026

**To convert JSON to CSV, paste a JSON list of objects above (or drop a .json file) and press Download.** Each object becomes a row, each key becomes a column, and nested objects are flattened into dotted column names such as `address.city`.

## How do I convert JSON to CSV?

1.  Paste the JSON into the editor or drop a .json, .jsonl or .ndjson file on it.
2.  Check the _Table_ tab. You see one row per object and one column per key.
3.  Use _Nested lists_ in the toolbar to choose how lists inside objects look.
4.  On the CSV tab, pick the delimiter. Use a semicolon if your spreadsheet expects one. This is common in Europe.
5.  Press _Download_ for a .csv file, or _Copy_ to paste it elsewhere.

## How does nested JSON become columns?

A CSV is flat, so nested values need names. This object:

`{"id": 1, "address": {"city": "Lagos", "country": "NG"}, "tags": ["research", "beta"]}`

becomes these columns:

| id | address.city | address.country | tags |
| --- | --- | --- | --- |
| 1 | Lagos | NG | \["research","beta"\] |

With _Nested lists_ set to _One column each_, `tags` becomes `tags.0` and `tags.1` instead.

## What if my JSON is not a list?

API responses often wrap the list, as in `{"data": [ … ], "page": 2}`. The converter finds the first list of objects one level down and uses it. A single object becomes a one-row table. If the JSON has a syntax error, you see the parser’s message. The [JSON Formatter](/tools/json-formatter) shows the exact line and offers to fix common slips like trailing commas.

## Opening the CSV in Excel

Excel can misread UTF-8 text in a CSV that has no byte-order mark. It also strips leading zeros from codes like `00412`. Tick _UTF-8 mark for Excel_ before downloading. Or pick the Excel format to get an .xlsx file where text stays text.

## Need the reverse?

The [CSV to JSON converter](/tools/csv-to-json) turns a spreadsheet back into JSON, with numbers typed for you.

## Questions

My JSON is wrapped in an object like {"data": \[ … \]}. Will it work?

Yes. When the JSON is an object, the converter looks one level down for the first list of objects, such as "data", "results" or "items", and converts that. The status line tells you which key it used.

What happens to arrays inside each object?

By default, a list stays in one cell as JSON, for example \["research","beta"\]. Set “Nested lists” to “One column each” to spread it into tags.0, tags.1 and so on.

Why do some rows have empty cells?

The columns are every key found in any object, in the order they first appear. An object that lacks a key gets an empty cell in that column. No data is dropped.

Can it convert JSON Lines (NDJSON)?

Yes. Paste or drop a file with one JSON object per line and each line becomes a row.

Can I get an Excel file instead of CSV?

Yes. Pick Excel in the output formats to download an .xlsx workbook. This avoids Excel’s guessing when it opens a CSV. You can also pick TSV, Markdown, HTML, SQL or YAML.

Is my JSON sent to a server?

No. This browser tab parses and converts the JSON, so API responses with tokens or customer data stay on your device.

## More free tools

-   [**CSV Converter** Convert CSV to and from JSON, Excel, Markdown and more.](/tools/csv-converter)
-   [**CSV to Excel** Get a real .xlsx file. Leading zeros and accents stay.](/tools/csv-to-excel)
-   [**CSV to JSON** Turn CSV into JSON objects, lists or keyed by a column. Long IDs keep every digit.](/tools/csv-to-json)
-   [**JSON Formatter** Format, check, browse and convert JSON, even very large files.](/tools/json-formatter)
-   [**Diff Checker** Compare two texts or files and see every change, side by side.](/tools/diff-checker)

## Save what you find in one click.

Kortex is a Chrome extension for Gemini Notebook (formerly NotebookLM). It sends AI chats, web pages, posts and YouTube videos into the notebook you pick. It keeps your notebooks organized. It exports them back out.

[Add to Chrome](https://chromewebstore.google.com/detail/kortex/hdapplggdhndkblofffknpmnnnnbncbn)

No card needed.
