The same table of data can live as a CSV, a JSON file or an Excel workbook — and picking the wrong one causes mangled characters, lost formulas and broken imports. Here's the plain-English difference.
CSV — the universal courier
CSV is just text: one row per line, commas between values. Every tool ever written can read it, which makes it the default for moving data between systems. Its weaknesses are the flip side of its simplicity: no formatting, no formulas, no multiple sheets, and no data types — everything is text until the receiving program guesses.
The classic CSV traps: values containing commas must be quoted; leading zeros (phone numbers!) get eaten by Excel on open; and non-English characters break unless the file is saved as UTF-8.
JSON — structured and nested
JSON represents data as objects and arrays, so it can express structure a flat table can't: a customer containing a list of orders, each containing items. It's the language of APIs. Use it when data is hierarchical or destined for code. It's overkill for a simple flat table a human wants to scan. (Deep dive: our JSON developer guide.)
Excel (XLSX) — for humans doing work
XLSX is a full workbook: multiple sheets, formulas, formatting, charts. It's the right format while people are working on data. It's the wrong format for interchange — programs need libraries to read it, and hidden formatting causes surprises.
Quick decision table
| Situation | Use |
|---|---|
| Importing/exporting between systems | CSV |
| API payloads, nested data, config | JSON |
| Humans analysing with formulas & charts | Excel |
| Long-term archival of tabular data | CSV (UTF-8) |
Excel ↔ JSON ↔ CSV, all local, no upload.
Open Excel to JSONConverting without breaking things
- Excel → CSV: one sheet at a time (CSV has no sheets). Check dates and leading zeros afterwards — use our Excel to CSV.
- CSV → Excel: straightforward — CSV to Excel keeps every row and gives you a proper workbook.
- JSON ↔ Excel: works cleanly when the JSON is an array of flat objects; nested structures need flattening first. Try JSON to Excel.
All of these run locally, so customer data never leaves your machine — which matters more with spreadsheets than almost any other file type.