How to Convert JSON to CSV (and Open It in Excel)
Updated 9 July 2026 · 6 min read
JSON is how APIs and apps exchange data, but it is awkward to read in bulk. CSV — plain rows and columns — opens straight in Excel or Google Sheets, making it perfect for reporting, analysis, or importing into another system. Here is exactly how the conversion works and how to get a clean spreadsheet every time.
What the conversion actually does
A CSV is a grid: the first row is column headers, and each following row is one record. So JSON converts most cleanly when it is an array of objects, where each object becomes a row and each key becomes a column. For example this JSON:
[
{ "id": 1, "name": "Bitcoin", "symbol": "BTC" },
{ "id": 2, "name": "Ethereum", "symbol": "ETH" }
]becomes this CSV:
id,name,symbol 1,Bitcoin,BTC 2,Ethereum,ETH
How nested objects and arrays are handled
Real API data is rarely flat. When an object contains another object, a good converter flattens it into dot-notation columns. So { "market": { "cap": 100 } } becomes a column named market.cap. Arrays of simple values are joined into a single cell (usually with a semicolon) so nothing is lost. This means you can drop in messy nested JSON and still get a tidy, spreadsheet-friendly table.
.csv — all in your browser, so your data is never uploaded.Opening the CSV in Excel or Google Sheets
Excel: double-click the downloaded .csv, or use Data → From Text/CSV for control over delimiters and encoding.
Google Sheets: File → Import → Upload, then choose "Detect automatically" for the separator.
Numbers / LibreOffice: both open CSV directly.
Why do it in your browser?
API responses often contain user records, order data or other sensitive information. Pasting that into a random website that uploads it to a server is a real data-privacy risk. A client-side converter runs entirely on your machine — the JSON is parsed and turned into CSV in your browser tab and never transmitted, which makes it safe for confidential data and compliant with most internal data policies.
Frequently asked questions
My JSON is a single object, not an array — will it work?
Yes. A single object is treated as one row. If you have several records, wrap them in an array (square brackets) for a multi-row CSV.
What if objects have different keys?
The converter collects every key across all objects and creates a column for each; missing values are left as empty cells, so nothing breaks.
Does it handle commas and quotes inside values?
Yes. Any value containing a comma, quote or line break is automatically wrapped in quotes and escaped, following the standard CSV rules Excel expects.