JSON to CSV Converter

Turn a JSON array into a CSV file that opens cleanly in Excel or Google Sheets.

Runs in your browser. Your files never leave your device.

How do I convert JSON to a CSV file for Excel?

Paste a JSON array into FixDoks's JSON to CSV converter and click Convert. It flattens nested objects into columns like address.city, turns simple arrays into one cell, and adds a BOM so Hindi and other non-English text opens correctly in Excel. Check the preview table, then download the .csv file, all in your browser.

JSON to CSV at a glance

InputJSON array of objects
OutputCSV file with one row per object, BOM option for Excel
ProcessingIn your browser; your files are not uploaded
PriceFree
Works onChrome, Edge, Safari and Firefox on Windows, Mac, Android and iPhone

How to use JSON to CSV Converter

  1. Paste your JSON or click Open JSON file.
  2. Pick a delimiter. Comma works for most people. Choose semicolon if your Excel expects it.
  3. Keep Flatten nested objects on to turn nested fields into columns like address.city.
  4. Click Convert to CSV, check the preview table, and download the .csv file.

Open JSON data in a spreadsheet

APIs, apps and databases export JSON, but most people want to sort, filter and chart data in Excel or Google Sheets. This tool turns a JSON array of objects into a CSV file with one row per object and one column per key. A preview table shows the first 20 rows so you can check the columns before downloading.

How the JSON is mapped

  • Array of objects (the usual case): every object becomes a row. The columns are the union of all keys, in the order they first appear, so objects with missing keys simply get empty cells.
  • Nested objects: with flattening on, {"address":{"city":"Pune","pin":"411001"}} becomes two columns, address.city and address.pin. With it off, the nested object is written into one cell as JSON text.
  • Arrays of simple values such as ["red","blue"] become one cell: red; blue.
  • Arrays of objects inside a row are written as JSON text in one cell, because they cannot be flattened into a single row without duplicating data.
  • Wrapped responses like {"data":[...]} or {"items":[...]}: the tool finds the first array inside the object and converts that.
  • Array of arrays: each inner array becomes a row as it is.

Quoting and special characters

Cells that contain the delimiter, double quotes or line breaks are wrapped in double quotes, and quotes inside are doubled. This is the standard CSV format, so Excel, Google Sheets, LibreOffice and databases all read the file correctly.

Hindi and other languages in Excel

Excel on Windows guesses the text encoding when opening a CSV and often shows Hindi, Tamil, Arabic or accented text as garbled symbols. The Add BOM for Excel option puts a small invisible marker at the start of the file that tells Excel the file is UTF-8, so the text opens correctly. Leave it on unless the file is going to a program that does not expect it.

Comma or semicolon?

Excel uses your computer's regional settings to decide the separator. In India, the US and the UK that is a comma. In much of Europe it is a semicolon, and a comma separated file opens with everything in column A. If that happens, convert again with the semicolon delimiter. Google Sheets handles either.

Tips

If the tool says the input is not valid JSON, run it through the JSON formatter, which points to the exact line and column of the error. Large IDs with more than 15 digits can be rounded by Excel when it opens a CSV. To keep them exact, import the file with Data, From Text/CSV and set that column to Text.

Frequently asked questions

How do I open the CSV in Excel?
Download the file and double-click it, or use Data, From Text/CSV in Excel for more control over column types.
What happens to nested JSON?
With Flatten nested objects on, nested fields become columns named with dots, such as address.city. Arrays of objects are written as JSON text in a single cell.
Why does Hindi text look garbled in Excel?
Excel may not detect UTF-8 on its own. Keep Add BOM for Excel ticked and the text will open correctly.
My objects have different keys. Is that a problem?
No. The CSV gets a column for every key found in any object, and missing values are left empty.
Is my data uploaded?
No. The conversion runs in your browser and the file never leaves your device.