Free tool
JSON to CSV and Excel, with Nested Fields and Column Control
You have an export or an API reply in JSON and a colleague wants it in a spreadsheet. This page finds the lists inside the JSON, flattens nested fields into columns and gives you a CSV or an Excel file. The CSV rules were read from RFC 4180 on 22 October 2026.
This file is big, so it is kept out of the text box to keep the page quick. The result is on the right.
The CSV or JSON shows here.
Paste on the left, drop a file, or press Example.
Columns
Click one to leave it out.Conversion happens inside your own browser, and your records are never uploaded or saved. Only the options you picked, such as the separator, are remembered on this device.
From a JSON export to a sheet someone can open
Paste the JSON, drop a file, or press Example. The tool looks for every list that holds records. When it finds more than one, a Rows from menu lets you choose which list becomes the table. JSON Lines, where each line is its own object, is accepted as well. If the JSON has a mistake, the line and column are shown.
The table preview appears under the result. Click a column heading in the Columns strip to leave that column out, and Show all brings them back. Then use Download .csv, Copy, or Download Excel (.xlsx).
Nested objects and lists inside records
Real records are rarely flat. A customer may hold an address object, and an order may hold a list of items. Two settings decide what happens.
| Setting | Choices |
|---|---|
| Nested objects as columns | On gives columns such as address.city, off keeps the object in one cell |
| Lists inside a record | Joined with commas, joined with semicolons, kept as JSON, or a row for each item |
A row for each item repeats the parent record once per list entry, which is what you want when counting items. Joined values keep one row per record, which is better for reading.
Before you download, glance at the table preview. If a column is empty for most rows, it probably belongs to a different list or comes from a field only some records have. Leave out columns that nobody needs, such as internal ids, so the sheet stays easy to read.
For a file with thousands of rows, the CSV opens fast everywhere, while the Excel file is better when codes and long numbers must stay exactly as they are.
Look at the preview table first, since it shows what the download will hold.
Use the Indent and Shape choices only when you go the other way, from CSV to JSON. They do not affect the CSV you download.
How CSV treats awkward values
RFC 4180, published in October 2005, says a field with a comma, a double quote or a line break should be wrapped in double quotes, and a double quote inside such a field is written twice. It also says the header line is optional. The tool writes CSV to those rules, so a company name with a comma stays in one cell. Source: RFC 4180, read 22 October 2026.
- Separator can be comma, semicolon (used by Excel in much of Europe), tab or pipe.
- Tick Excel-safe CSV to add a mark at the start so accents open correctly.
- The Excel download keeps codes like 00123 and long IDs as text, and numbers as numbers.
Going the other way, from CSV to JSON
Paste CSV into the same box and the tool switches direction by itself. The first row is read as names by default, and a separator is found for you or picked by hand. Numbers and true or false values become real values, and dotted names such as address.city are rebuilt into objects when you tick that box. Choose a JSON array, or JSON Lines, and set the indent. For a page built around that direction, use the CSV to JSON converter.
Why content moves through CSV
When a site changes platform, products, posts and members are often exported, cleaned in a sheet and imported again. A tidy column list is the difference between a smooth import and a week of fixes. Our Webflow migration service plans this step, including which fields must match on the new platform.
Frequently asked questions
How do I convert JSON to CSV?
Paste or drop the JSON. The list of records becomes rows, and you can download a CSV or an Excel file.
What if my JSON has several lists?
A Rows from menu appears so you can pick which list becomes the table.
How are nested objects handled?
They can become dotted columns such as user.name, or stay in one cell. You choose with a tick box.
Will Excel keep leading zeros?
In the Excel file, codes like 00123 and long IDs are stored as text, so they are not changed. A plain CSV opened in Excel is read by Excel itself.
Can I turn CSV back into JSON?
Yes. Paste CSV in the same box and choose a JSON array or JSON Lines.
Does my data get uploaded?
No. Everything happens in your browser.
More free tools
- CSV to JSON converter: Turn a CSV file into JSON, with automatic separator and encoding detection and typed values.
- JSON formatter: Format, minify, validate and repair JSON, browse it as a tree, or convert it to YAML or CSV.
- YAML formatter: Check and tidy YAML, keep comments, and view it as JSON, a tree or compact flow style.
- Diff checker: Compare two texts or files side by side, merge changes and export a diff.
- UUID generator: Make v4, v7 or nil UUIDs in bulk and check whether a UUID is valid.