🛠️ Developer · Updated October 12, 2026 · 7 min read

Convert JSON to CSV for Excel and Google Sheets

data.json Excel sheet 📊

To convert JSON to CSV for Excel, you need a JSON array of objects: each object becomes a row and each key becomes a column header. Paste it into a converter, download the CSV, then import it into Excel or Google Sheets rather than double-clicking, so delimiters, accents and leading zeros survive. Nested objects and arrays are the main trap, and this guide shows what happens to them.

🔄 Try CSV to JSON Converter now — freeOpen →
CSV to JSON Converter in JSON → CSV mode: customers JSON above and the converted comma-separated rows below with Copy and Download
JSON array in, spreadsheet-ready CSV out, converted in the browser.
💡 Why JSON and spreadsheets do not fit together by default

APIs and app exports deliver JSON, while the people who need the numbers work in spreadsheets. JSON is a tree: an order can contain a customer object and a list of items. A spreadsheet is a flat grid. The conversion must decide what to do with that tree, and Excel then guesses separators, encoding and number formats.

What shape of JSON converts cleanly

The ideal input is a top-level array of flat objects with the same keys:

[ {"id": 1, "name": "Ana", "city": "Lyon"}, {"id": 2, "name": "Ben", "city": "Austin"} ]

Nested objects and arrays: what actually happens

The tool does not flatten. A nested object or array is written into a single cell as JSON text. An order with "customer": {"name": "Ana", "country": "FR"} produces a customer column containing {"name":"Ana","country":"FR"}, and "tags": ["vip", "eu"] becomes the cell ["vip","eu"].

That keeps every value, but it is hard to filter in a spreadsheet. Options, from simplest:

Convert JSON to CSV for Excel without breaking the data

The converter writes comma-separated values and wraps any value containing a comma, semicolon, quote or line break in double quotes, doubling inner quotes. The download is named data.csv and has no byte-order mark. Three Excel habits then cause most problems:

Google Sheets is more forgiving: File, Import, Upload detects the separator and reads UTF-8, though it can still strip leading zeros unless you turn off number conversion.

Dates, numbers and privacy

Conversion runs entirely in your browser; nothing is uploaded, which matters for customer data. The same page also converts CSV to JSON.

Preparing messy JSON before you convert

Real exports are rarely perfect. Spend two minutes cleaning the input, and the spreadsheet will open correctly.

If the JSON has errors, formatting JSON and fixing syntax errors helps you find the problem, and validating JSON with indents and tree view makes nested data easier to read. To work in the other direction, the CSV to JSON converter turns a table back into objects.

Opening the file correctly in a spreadsheet

Double-clicking a CSV can misread accents, long numbers and dates. Use the import wizard, choose UTF-8, set the delimiter and mark ID or postal code columns as text so leading zeros stay. In Google Sheets, use File, Import and choose to replace or append data.

Step-by-step

1234
1Check the shape — Make sure the JSON is an array of objects; if it is wrapped in a key like data, copy only the inner array.
JSON → CSV button selected and a four-customer JSON array pasted, with zip "02134" as a quoted string and a tags array in the last object
Choose JSON → CSV and paste an array of objects: each object becomes one row.
2Convert — Choose JSON → CSV in the converter, paste the JSON and click Convert.
CSV result with header id,name,zip,city,signup,plan,tags, 02134 kept, "New York, NY" quoted and the tags array in one cell
Click Convert: the header comes from every key, leading zeros stay and values with commas are quoted.
3Download — Click Download to save data.csv, or Copy to paste it elsewhere.
Copy and Download buttons above the CSV output: Download saves the rows as data.csv for Excel's From Text/CSV import
Click Download to save data.csv, then import it in Excel with Data › From Text/CSV.
4Import, do not open — In Excel use Data, From Text/CSV with UTF-8 and Comma; set ID and ZIP columns to Text.

Common mistakes to avoid

⚠️Pasting an API response wrapped in an object, then wondering why everything lands in one row.
⚠️Double-clicking the CSV in a semicolon-locale Excel and getting a single crowded column.
⚠️Letting Excel convert ZIP codes, phone numbers or long IDs into numbers.
⚠️Expecting nested objects to become separate columns automatically.

Pro tips

✓If conversion fails, look for a trailing comma.
✓Store identifiers as strings in the JSON so their zeros survive the whole trip.
✓Compare one row in a text editor against Excel.
✓Save repeated imports as a Power Query.
✓Use ISO dates in the source so US and European colleagues read the same day.

Frequently asked questions

Does the converter flatten nested JSON?

No. Nested objects and arrays are kept as JSON text inside one cell. Flatten the data first if you need separate columns.

Why is everything in column A in Excel?

Your Excel expects semicolons because of regional settings. Import through Data, From Text/CSV and pick Comma.

Why do accented letters look garbled?

Excel guessed the wrong encoding. Import the file and choose UTF-8 (65001) as the file origin.

Can I get a semicolon-separated file?

The tool always writes commas. Excel's import dialog handles comma files in any locale, which is the more reliable route anyway.

Is my JSON uploaded anywhere?

No. Parsing and conversion happen in your browser, and the file is created locally when you click Download.

📌 Bottom line

Feed the converter an array of flat objects, expect nested values as JSON text, and bring the CSV into Excel through the import dialog with UTF-8, the comma delimiter and Text columns for IDs. Those three choices prevent almost every broken spreadsheet.

Open CSV to JSON Converter →

Related guides

Browse more: all text and developer guides · CSV to JSON Converter