Utilities
Flatten JSON into spreadsheet-ready CSV
Paste a JSON array and get spreadsheet-ready CSV with headers, converted privately in your browser.
For the best results: Paste a JSON array of objects, headers come from the union of all keys, so ragged objects are fine. Nested objects are kept as JSON strings inside their cell.
Runs entirely in your browser, what you paste is never uploaded, logged, or stored.
What is JSON to CSV?
JSON to CSV is a free online utility that flattens a JSON array into spreadsheet-ready CSV with headers built from your data, all in your browser. The conversion runs as plain JavaScript in this tab, so whatever you paste, including anything sensitive, never leaves your device. There is no server call involved at all, no account to make, and no cap on how often you use it.
- ✦Runs entirely in your browser. Nothing you enter is ever uploaded
- ✦No account, no sign-up, and no data leaves your device
- ✦Works offline once the page has loaded
See it in action
An API response needs to land in a spreadsheet for a non-technical colleague.
What you type
A JSON array whose keys and values include commas, quotes, line breaks, an emoji and a nested object
What you get
Spreadsheet-ready CSV: the comma-bearing header arrives quoted, embedded quotes are doubled per the CSV standard, line breaks survive inside quoted cells, the emoji passes through, and the nested object lands as its JSON text.
Tip: Rows with different keys are fine: headers become the union and missing cells stay empty. If Excel mangles special characters on open, import the file instead of double-clicking it and pick UTF-8.
Use cases
What people use it for
Turn an API response full of JSON records into a spreadsheet your finance team can actually open.
Flatten exported app data into CSV so you can filter and sort it in Excel or Sheets.
Convert a JSON log dump into rows and columns before importing it into a reporting dashboard.
Who uses JSON to CSV?
Data analysts
pull JSON out of APIs and internal tools, then need it in spreadsheet form for stakeholders who live in Excel.
Ops and admin staff
receive JSON exports from SaaS platforms and want plain rows and columns they can sort, filter, and share around.
Software developers
spot-check API payloads by converting them to CSV for a quick visual scan in a spreadsheet.
How it works
- 1Vary step 1 by tool shape using the existing FORM_TOOL_IDS set in app/(public)/[category]/[tool]/page.tsx. Form tools get "Set the options for what you need." and text tools get "Paste your text into the box." Where a tool's config makes it easy, name its own inputs instead. Steps 2 and 3 stay shared as they are.
- 2Your browser computes the result instantly. Nothing is uploaded anywhere.
- 3Copy the output; the tool keeps working even offline.
Tips for the best results
- Convert a small sample first to confirm the columns come out the way you expect.
- If your records have inconsistent keys, scan the header row before trusting the output.
- Open the result in Google Sheets if your local Excel splits on semicolons.
- Keep the original JSON as your source of truth; CSV discards nesting, so the trip is one-way.
- Double-check fields containing commas on critical data, even though quoting is handled for you.
FAQ
Frequently asked questions
How does the converter decide which columns to create?
Headers come straight from the keys in your JSON objects. The tool scans every record in the array, collects the full set of keys it finds, and turns each one into a column. Records missing a key simply get an empty cell, so uneven data still lines up correctly instead of shifting values into the wrong columns.
What happens to nested objects inside my JSON?
Nested objects are kept whole as JSON text inside their cell rather than being scattered into extra columns or thrown away. CSV has no concept of hierarchy at all, being purely rows and columns, so keeping the structure visible in one cell is the honest option; split it out in your spreadsheet or script if you need separate fields.
Why do some of my values end up wrapped in quotes?
That is correct CSV behavior, not a bug. Any value containing a comma, a line break, or a quote character must be wrapped in double quotes, and quote characters inside the value are doubled up. Without this escaping, a single comma inside a product description would split one field into two and corrupt every column after it.
Is my data uploaded anywhere during conversion?
No. The conversion runs as plain JavaScript inside your own browser tab, so the JSON you paste never travels across the network. There is no server receiving it, no database storing it, and nothing to leak. You can even switch off your connection after the page loads and the converter keeps working exactly as before.
Why will my CSV not open properly in Excel?
The usual culprit is the delimiter. Some regional Excel configurations expect semicolons rather than commas, so a comma-separated file lands in a single column. Use the Text Import wizard and choose comma as the separator, and it parses cleanly. Encoding matters too: pick UTF-8 during import if accented characters come through looking scrambled.
How do I convert a JSON file to CSV for free?
Paste the JSON array into this converter and copy the CSV it produces, with no sign-up, no row cap, and no watermark. The conversion is ordinary JavaScript running in your browser, so there is no server bill behind it and no reason to charge or limit anyone.
Can Excel open a JSON file directly?
Modern Excel can import JSON through Power Query, but the route is buried and the flattening choices are easy to get wrong. Converting to CSV first gives you a plain file every spreadsheet application opens identically, including Google Sheets, LibreOffice, and older Excel versions that lack Power Query.
What is the difference between JSON and CSV?
JSON is a nested, typed format built for programs exchanging data, while CSV is a flat table of text values built for spreadsheets. JSON can hold objects inside objects; CSV only holds rows and columns. That is why converting between them involves flattening structure, not just swapping punctuation.
Are there any usage limits?
None. Everything is generated locally in your browser, so there is no server cost, no metering, and no daily cap, use it as many times as you like, completely free.
Also useful
Related free tools
More Utilities tools


