JSON to CSV Converter

Paste a JSON array and download a CSV that opens cleanly in Excel or Google Sheets. Nested values become columns like address.city, so you do not lose anything.

How to use this tool

  1. 1Choose what you are converting from and to. The middle button swaps the direction.
  2. 2Paste your data into the left box, or upload a file of up to 5MB.
  3. 3The converted result appears on the right as you type.
  4. 4Press Copy, or Save file to download it. Excel always downloads, because a spreadsheet cannot be shown as text.
Max 5MB · CSV, TSV, JSON, XLSX
0 rows · 0 columns

Why the delimiter matters

"CSV" is not one single format. Files exported in Europe often use semicolons, because there the comma is used as a decimal point. Files coming out of a database often use tabs. Auto-detect handles most of it, but you can always set it yourself in Settings.

What happens to nested data

A table has rows and columns, and JSON does not have to. When JSON goes into a table, a nested object or array is written into the cell as JSON text rather than being thrown away. Converting back gives you that text again, so nothing is lost even though the shape flattens.

Opening the result without damage

Spreadsheet apps change your data while importing a CSV. Long numbers become scientific notation, and anything that looks like a date gets converted into one. If your data has IDs, phone numbers or product codes, convert to Excel instead. The values are stored with their type, so nothing gets reinterpreted on the way in.

Frequently asked questions

Is my file uploaded anywhere?

No. The file is read by your own browser and the whole conversion happens on your computer. No request goes out to any server, which is why the tool keeps working even if your internet stops after the page has loaded.

Which formats can it convert between?

CSV, TSV, JSON and Excel, in any direction. Excel can only come in as an uploaded file and can only go out as a download, because a spreadsheet is a binary file and not text.

What does auto-detect do for the delimiter?

It reads the first line of your data and tries a comma, tab, semicolon and pipe, then keeps whichever one splits it into the most columns. Set the delimiter yourself if your values contain commas and are not wrapped in quotes.

Why are my PIN codes losing their starting zeros?

Numbers become real numbers in JSON, so 011234 turns into 11234. Switch on "Surround non-numbers in quotes" to keep every value as text. Do this for PIN codes, phone numbers and any code that only looks like a number.

What is "remove empty trailing columns" for?

Spreadsheet exports often carry a tail of empty columns that nobody typed into. This drops any column at the far right that is empty in the heading and in every single row. It is on by default because it is almost always what you want.

How large a file can it handle?

Uploads are capped at 5MB. Pasted text has no limit beyond your own computer memory, since nothing is being sent anywhere.

See all tools →

Click any card below to open that tool. All of them are free.

Free · No signup · Runs in your browser