How to Convert JSON to CSV
You've got a chunk of JSON — an API response, an export, a config dump — and you need it as CSV so you can open it in a spreadsheet or hand it to someone who lives in Excel. Converting JSON to CSV by hand is tedious and easy to get wrong, especially once values contain commas, quotes, or line breaks.
The JSON to CSV Converter on Tooldrop does it for you instantly. Paste your JSON array of objects, and clean, spreadsheet-ready CSV appears right away — properly quoted and escaped to the RFC-4180 standard. It runs entirely in your browser, so nothing is uploaded, there's no sign-up, and there are no limits. This guide walks you through it step by step.
Step by step
- 1Open the JSON to CSV Converter at /dev/json-to-csv. There's nothing to install or sign up for — the tool is ready the moment the page loads.
- 2Check the Direction toggle at the top. Leave it on 'JSON to CSV' to turn JSON into a spreadsheet, or switch it to 'CSV to JSON' if you need the reverse conversion.
- 3Paste your data into the input box. For JSON to CSV, paste a JSON array of objects, for example [{ "name": "Ada", "city": "London" }]. Each object becomes a row and each key becomes a column header.
- 4Watch the CSV appear in the Result panel below as soon as your input is valid — there's no separate convert button to press, the output updates live as you type or paste.
- 5Click the Copy button under the result to put the CSV on your clipboard, then paste it straight into a spreadsheet, a .csv file, or wherever you need it.
- 6If you see a red error message instead of output, fix the JSON it points to (most often a missing bracket, a trailing comma, or a value that isn't an array of objects) and the result will refresh automatically.
When and why you'd convert JSON to CSV
JSON is great for code and APIs, but CSV is the language spreadsheets speak. You'll reach for this conversion whenever you want to open structured data in Excel, Google Sheets, or Numbers — to filter it, chart it, or share it with someone non-technical.
Common cases: turning an API response into a report, exporting records from a tool that only gives you JSON, prepping a list for a bulk upload that expects CSV, or simply eyeballing nested data in a flat grid. Because the converter also goes the other way, it's just as handy for pulling a CSV export back into JSON for a script.
Tips for the cleanest results
Give the tool a JSON array of objects, like [{...}, {...}], not a single object or a bare value. Each object is one row.
Your objects don't all need identical keys. The converter collects every key it sees across all rows and uses that union as the header, so missing fields simply come out as empty cells. Values that are themselves arrays or objects are written back as JSON text inside the cell, so nothing is silently dropped.
Don't worry about commas, quotation marks, or line breaks inside your values — the tool wraps and escapes those fields automatically following RFC 4180, so your CSV opens correctly in any spreadsheet. For the reverse direction, make sure your CSV's first row is the header, since those names become the JSON keys.
Is it safe and private?
Yes. The conversion runs entirely in your browser using local JavaScript — your JSON or CSV is never uploaded to a server, and nothing is logged or stored. The on-page hint says it plainly: everything runs privately in your browser, nothing is uploaded.
That makes it safe for data you can't paste into random websites, like customer records, internal exports, or anything with personal information. There's no account to create and no usage cap, so you can convert as much as you want, as often as you want. Once the page has loaded, it even keeps working if your connection drops.
Common problems and quick fixes
'Invalid JSON' — there's a syntax slip somewhere. The usual culprits are a trailing comma after the last item, a missing bracket or brace, or single quotes where JSON needs double quotes. Paste the JSON into a formatter first if you're unsure.
'JSON must be an array of objects' or 'Every item in the array must be an object' — you've pasted a single object or a list of plain values. Wrap your objects in square brackets so the top level is an array, e.g. [{ "a": 1 }].
Empty result — an empty array ([]) produces no CSV, which is expected. Add at least one object to see output.
Going CSV to JSON and getting odd keys? Check that the very first line of your CSV holds the column names, because that row is treated as the header.
Frequently asked questions
How do I convert JSON to CSV without uploading my file?
Does my JSON data get sent to a server?
How does the tool handle commas, quotes, and line breaks in my values?
Can I convert CSV back to JSON too?
Tools used in this guide
Related guides
Paste any JSON Web Token to read its header and payload in seconds — free, private, and entirely in your browser.
Paste messy JSON, beautify or minify it, and catch errors instantly with this free in-browser JSON formatter.
A step-by-step guide to testing regular expressions with Tooldrop's free, browser-based Regex Tester, with live matches and capture groups.