JSON to CSV Converter
Paste JSON or open a .json file and get a spreadsheet-ready CSV. Nested objects become columns like address.city, and every key found in any record gets its own column. It also works the other way: turn a CSV into a JSON array of objects. Everything runs in your browser, so nothing is uploaded.
How it works and privacy
Your JSON is parsed by the browser, each record is flattened into dot-named columns, and the rows are written out as standard comma-separated CSV (or the reverse for CSV to JSON). The page is plain HTML and JavaScript that runs on your device: your data is read and processed in this browser tab and is never uploaded, stored on a server or shared. There are no tracking cookies. The only network request this page can make is the optional Pro license check, which sends just your license key to Gumroad.
How to use
- Choose JSON to CSV or CSV to JSON.
- Open a file or paste your data into the box.
- Press Convert and check the preview.
- Press Download to save the result, or Copy to paste it elsewhere.
Free and Pro
Free: first 200 records converted. Pro: unlimited records.
Questions
How are nested JSON objects converted to CSV columns?
Each nested field becomes its own column named with dots, so {"address": {"city": "Boston"}} becomes a column called address.city. Arrays are kept as JSON text in one cell, for example ["mug","tea"], so no data is lost.
What if my records have different fields?
The converter collects every key from every record, in the order it first sees them. A record that is missing a field gets an empty cell in that column.
My JSON is an object, not an array. Will it work?
Yes. If the top-level object holds exactly one array (like {"data": [...]}), that array is used. Any other object is treated as a single record. Newline-delimited JSON (one object per line) also works.
Is my data uploaded anywhere?
No. The conversion runs in your browser with JavaScript. The page has no server that receives files, and you can disconnect from the internet after it loads and it still works.
Can I convert CSV back to JSON with numbers and true/false?
Yes. In CSV to JSON mode, tick "Detect numbers, true/false and null". Values with leading zeros, like ZIP codes, stay as text so they are not damaged.
More free tools
- CSV Scrub
Fix dates, phones, spacing and duplicate rows in a messy CSV. - Duplicate Row Finder
Find near-duplicate rows by the columns you pick, ignoring case, spaces and punctuation. - Email List Cleaner
Lowercase, dedupe, fix gmial.com-style typos and flag invalid or role addresses. - CSV Splitter and Merger
Split a big CSV into smaller files, or merge several CSVs into one with matched headers. - Name and Address Cleaner
Split full names, fix capitalization, standardize US states and ZIP codes. - HTML Table to CSV
Paste a web page table or its HTML and download it as a clean CSV. - All Scrub Tools, templates and guides