How to Convert JSON to CSV
JSON is a tree; CSV is a grid. Converting between them means answering a question the data cannot answer for itself: what should happen to the nesting? A record with a nested address object and an array of tags has no natural row-and-column shape. This tool makes those decisions explicit rather than guessing, so you get a spreadsheet that actually reflects your data instead of a column full of [object Object].
Paste or load your JSON
An array of objects works best. If your JSON wraps the array in a data or results property, that is found automatically.
Decide how nesting is handled
Flatten nested objects into dotted columns, and choose whether arrays become one cell or several.
Convert and open in Excel
A preview table shows the first few rows. Download the file and it opens correctly, accents and all.
What Happens to Nested Data
Nested objects become dotted columns. A record containing role: { title, team } produces two columns named role.title and role.team. This is the convention most tools use, and it round-trips cleanly — our CSV to JSON converter can rebuild the nesting from those same dotted names.
Arrays are genuinely ambiguous, so you choose. Joining them into one cell separated by semicolons keeps the table narrow and is usually right for tags or categories. Splitting them into indexed columns gives you one column per item, which suits fixed-length arrays but produces a very wide table if the lengths vary. Keeping the raw JSON in a single cell preserves the data exactly, at the cost of readability.
One more thing worth knowing: records in a JSON array often have different shapes. This tool collects every key it finds across every record, so no field is lost just because the first record happened not to have it. Rows missing a field simply get an empty cell, and you are told how many were affected.
Getting It to Open Properly in Excel
Keep Excel-friendly encoding on
It adds a byte order mark, which tells Excel the file is UTF-8. Without it, accented characters and non-Latin scripts appear as mojibake.
Use semicolons for European Excel
In locales where the comma is the decimal separator, Excel expects semicolon-delimited CSV and will otherwise put every row in one column.
Long numbers may still be reformatted
Excel converts long digit strings to scientific notation on import. That is Excel's behaviour, not the file's - import as text if the IDs matter.
Check the preview before downloading
The table above the output shows the first few rows exactly as they will appear, which catches shape problems before you open anything.
Frequently Asked Questions
How do I convert JSON to CSV for free?
Paste your JSON or drop a file, choose how nesting should be handled, and click Convert. Free, no signup, nothing uploaded.
Is my data uploaded to a server?
No. The conversion runs entirely inside your browser, which matters when the JSON contains API responses or customer records.
What happens to nested objects?
They are flattened into dotted column names, so role.title and role.team become separate columns. Turn flattening off and they become raw JSON in one cell.
How are arrays handled?
You choose: joined into one cell with semicolons, split into indexed columns, or kept as raw JSON text. Joining suits tags, indexing suits fixed-length arrays.
Why does my CSV look wrong in Excel?
Usually the delimiter. European Excel expects semicolons rather than commas. Switch the delimiter and it will open into proper columns.
Why are accented characters broken?
Excel needs a byte order mark to recognise UTF-8. Keep the Excel-friendly encoding option on and it displays correctly.
What if my records have different fields?
Every key found across every record becomes a column. Rows missing a field get an empty cell, and you are told how many were affected.
My JSON is not a plain array - will it work?
Yes. If the array is wrapped in a property such as data, items or results, it is found automatically. A single object becomes a one-row CSV.
Can I convert the CSV back to JSON?
Yes, with our CSV to JSON tool. Tick Nest dotted columns there and the nesting is rebuilt from the dotted column names.
Is there a file size limit?
Files above about 20 MB are rejected because browser processing becomes very slow. Use an extract or a command-line tool for larger data.
Does it escape quotes and commas correctly?
Yes. Fields containing the delimiter, quotes or line breaks are quoted and escaped per RFC 4180, so nothing breaks on import.
Is this JSON to CSV converter really free?
Completely free, with no limits, no signup and no premium wall. Everything runs in your browser.
Last updated: July 21, 2026 · FlipMyFormat JSON to CSV
Written and maintained by the FlipMyFormat team
