Eventually it happens to every marketer, analyst, bookkeeper, and operations person. You export data from a certain tool (an ad platform, a CRM, a survey app, an API your developer set up), and instead of the spreadsheet you anticipated, you end up with a .json file: a long wall of curly braces, quotes, and colons that Excel treats as a single useless column.
All the data is there. It's just presented in a format suitable for machines instead of for you. Here is the two-minute translation, together with enough background that you'll never feel intimidated by the file again.
What a JSON file actually is
JSON is the means by which software transfers structured data. While a spreadsheet deals in rows and columns, JSON uses labeled values:
[
{ "name": "Ada", "plan": "Pro", "spend": 29 },
{ "name": "Lin", "plan": "Free", "spend": 0 }
]
Read it slowly and you can see the spreadsheet within: each section enclosed in curly braces represents a row, each label acts as a column header, and each value is a cell. A JSON file made up of blocks like that is simply a table wearing a costume.
The conversion
JSON to CSV, free, in your browser:
- Drop the
.jsonfile in. - Click Convert.
- Open the CSV in Excel, Google Sheets, or Numbers. The labels appear as column headings, the blocks form the rows.
Would you rather skip the CSV stage? JSON to Excel produces an actual .xlsx workbook directly. And when a developer requests your data in JSON format, CSV to JSON follows the same path in reverse.
Worth explaining, given what these files typically contain: the conversion happens entirely on your device. Customer lists, revenue figures, survey responses, campaign data, none of it gets uploaded anywhere, because there is no server involved. Pasting your customer export into a random free converter website is exactly the sort of thing security experts caution against. Here, the file never leaves your machine.
The one wrinkle: nested data
Real-world exports don't always stay flat. Sometimes a record contains another record:
{ "name": "Ada", "plan": "Pro", "address": { "city": "Toronto", "zip": "M5V" } }
Since a spreadsheet cell cannot contain a sub-table, our converter keeps the nested section as compact JSON text within the cell. Your regular rows and columns come through exactly as they should, and the nested elements remain complete and readable rather than disappearing without a trace. You'd need a data tool to unpack those into separate columns, but for the vast majority of exports (the flat lists of customers, transactions, responses, and results) the conversion is one drop and one click.
Quick field guide to the errors
"This file isn't valid JSON." The file is damaged or was edited by hand. The most common causes are a comma placed after the last item or a missing closing brace. Ask the tool that produced it for a fresh export before attempting to fix it manually.
The CSV opens as a single column. Generally Excel incorrectly guessing the separator, not a faulty conversion. Rather than double-clicking the file, use File → Open, or import it through Data → From Text, and Excel will properly prompt you about the comma.
Numbers look wrong (leading zeros lost, long IDs corrupted). A problem caused by Excel, not by the file. Import the column as text. Phone numbers and 16-digit IDs are typically the ones affected.
The wider data family
JSON and CSV are two residents of the larger neighborhood our data converters serve: Excel to JSON for handing a spreadsheet to a developer, XML to JSON for the files older enterprise systems produce, YAML to JSON for configuration files, CSV to Excel for making a raw export presentable. All free, all local, no daily meter, files up to 1 GB.
The costume changes. The data remains yours, and it now opens in the tool you actually work in.