JSON to CSV: how to convert JSON data to a spreadsheet
APIs hand you JSON. Spreadsheets want CSV. Here's the bridge between them — what each format is, and how to cross over cleanly.
Try the free tool
JSON to CSV ConverterJSON is for machines; CSV is for people with spreadsheets
JSON (JavaScript Object Notation) is how modern systems hand over data: structured text built from objects with named fields and lists of values. It's precise and flexible, which is why APIs return it — and why it looks like noise to anyone who just wants a table.
CSV (comma-separated values) is the opposite bargain: rows and columns, one record per line, values separated by commas. Every spreadsheet app on earth opens it. Converting JSON to CSV is therefore a translation from a machine's structure to a human's table.
When converting makes sense
Whenever data arrives as JSON and needs human eyes: an API export you want to sort and filter, a list of records to share with someone who lives in Excel or Google Sheets, a dataset to chart or pivot. If the data stays inside code, keep it as JSON — conversion only earns its keep when a person needs to read, sort or share the table.
Convert JSON to CSV in three steps
With Convrtr's free tool, the conversion runs entirely in your browser: your data is never uploaded anywhere.
- Open the JSON to CSV tool and paste your JSON data.
- Convert it — each object becomes a row, each field becomes a column.
- Download the CSV and open it in your spreadsheet app.
How the translation works (and where it gets tricky)
The clean case is a list of similar objects — say, products with a name, a price and a stock count. Each object becomes one row; each field name becomes a column header; the table practically writes itself.
Nested data is where judgment enters: an object tucked inside another object (an address inside a customer, for instance) has to be flattened somehow, and different tools flatten it differently. Before you trust a converted file, open it and check two things: that every record landed on its own row, and that no field ended up in the wrong column. A quick scan of the first few rows catches almost every surprise.
One more practical note: if your values contain commas (an address like 'Springfield, Illinois'), a correct CSV wraps them in quotes so the spreadsheet doesn't split them into two columns. A good converter handles that automatically — it's worth checking on the first row that does.
Before you share the spreadsheet
A converted file deserves a two-minute review before it leaves your hands. First, count: does the number of rows match the number of records you expected? A missing row usually means a record whose shape differed from the others — an empty field, a different structure — and it deserves a look, not a shrug.
Second, scan the headers. Are the column names the field names you expected, spelled the way your recipient will understand them? A column called « usr_addr_l2 » means something to the API and nothing to a human; renaming headers before sharing is a courtesy that costs seconds and prevents confused replies.
Third, remove what shouldn't travel: test records, dummy entries, internal identifiers your recipient doesn't need. A shared spreadsheet is a published document, even when the audience is one colleague — it should contain exactly the data the recipient needs, and nothing that will raise questions later.
Finally, keep the original JSON. If the spreadsheet ever needs a different shape — different columns, a different order — the JSON lets you reconvert in seconds, while a CSV alone forces you to rebuild the structure by hand.
When not to convert
Conversion is a tool, not a reflex, and three situations call for leaving the JSON alone. First, when the data stays inside code: if a developer will consume it, JSON is already the right shape, and a CSV in the middle only adds a step that can drift out of date. Second, when the data is deeply nested — objects inside objects inside lists. Flattening that into rows loses the very structure that made the data meaningful, and the resulting spreadsheet misleads more than it helps.
Third, when the data updates often. A CSV is a snapshot: the moment the source data changes, the spreadsheet is stale. If the recipient needs fresh numbers every week, a live connection to the source beats a converted file every time — conversion is for data that stands still long enough to be read.
The test is simple: if a person needs to read, sort, filter or share this data once, convert it. If a system needs to consume it, or if it changes constantly, keep the JSON. Knowing which side of that line you're on is most of the skill.
Frequently asked questions
Can I open a CSV in Excel or Google Sheets?
Yes: both open CSV files directly, as do LibreOffice Calc and Apple Numbers. The CSV becomes an ordinary spreadsheet you can sort, filter and chart.
What happens to nested data inside JSON?
It has to be flattened into columns, and different tools do it differently. Always open the converted file and check the first few rows before trusting it.
Does converting change my data?
The values stay the same; only the shape changes, from structured objects to rows and columns. Your original JSON is untouched — conversion creates a new file.
What if my JSON is a single object, not a list?
Then it becomes a single row, with each field as a column. If you expected a table of many rows, your data is probably a list of objects — check that the JSON you pasted starts with a bracket, not a brace.
Can a CSV hold formatting like bold text or colours?
No: CSV holds plain values only — no fonts, no colours, no formulas. If you need formatting, apply it in the spreadsheet after opening the CSV.
Is my data uploaded to a server?
No. The conversion runs entirely in your browser: your data never leaves your device.