UtilitiesTools

JSON to CSV Converter

Paste a JSON array, get a clean CSV table you can download or copy in one second — and convert it back the other way too. Nested objects are flattened automatically, and nothing ever leaves your browser.

🔒 Converted in your browser. Nothing is uploaded or stored.

What is the JSON to CSV converter?

The JSON to CSV converter turns a JSON array of objects into a clean, spreadsheet-ready CSV table — and converts CSV back into JSON when you need to go the other way. JSON is the format APIs and config files speak in, but spreadsheets, databases, and analysts speak CSV. This tool bridges that gap in one second: paste your JSON, pick a direction, and get the result you can download or copy. Everything runs in your browser, so even private or company data stays on your machine.

How to use it

  1. Choose a direction: JSON to CSV or CSV to JSON.
  2. Paste your JSON array (or your CSV table) into the input box.
  3. The converted output appears instantly in the result box as you type.
  4. Click Download to save a file, or Copy to grab the result for a spreadsheet or code editor.
  5. Switch the direction toggle anytime to convert back — no reload, no re-paste of settings. Get your answer and go.

The method behind it

The conversion is plain and predictable: each object in the array becomes one row and each key becomes a column. First the tool scans every object and builds the header as the union of all keys it finds, so records with different or missing fields still line up correctly. Nested objects are flattened — a key like address.city becomes its own dotted column header instead of being dropped. Values that contain commas, quotes, or line breaks are wrapped in quotes and escaped per the standard CSV rules (RFC 4180), so the file opens cleanly in Excel, Google Sheets, or Numbers. Going the other way, CSV to JSON, the first row is read as the keys and every following row becomes one object.

Examples

JSON to CSV

Input:

[{"name":"Ada","role":"dev"},{"name":"Lin","role":"qa"}]

Output:

name,role
Ada,dev
Lin,qa

Nested JSON to CSV

Input:

[{"name":"Ada","address":{"city":"Berlin"}}]

Output:

name,address.city
Ada,Berlin

CSV to JSON turns name,role / Ada,dev back into a JSON array of objects, using the header row as the keys.

Common use cases

Why use this one

Most converters only go one way, run on a server (so your data is uploaded), or quietly break when JSON contains nested objects. This one does all of it in a single page: two-way JSON to CSV and back, nested-object flattening into dotted headers, download and copy built in, and 100% client-side processing so your JSON never leaves the browser. No signup, no upload, no paywall. It pairs naturally with the JSON Formatter to tidy your JSON first, the Text Diff Checker to compare two exports, and the Base64 Encode / Decode tool when your data arrives wrapped for transport.

Frequently asked questions

Is my JSON uploaded to a server?

No. The entire conversion runs locally in your browser using JavaScript. Your JSON and CSV never leave your device, which makes it safe for private or company data.

Can it convert CSV back to JSON?

Yes. This is a two-way tool. Switch the direction and paste a CSV table to get a JSON array of objects, using the first row as the keys.

How does it handle nested JSON objects?

Nested objects are flattened into dotted column headers. For example, the key address.city becomes its own CSV column, so you do not lose nested data the way many basic converters do.

What happens to nested arrays inside an object?

Arrays inside a record are serialized into a single cell as a compact JSON string so no information is lost. You can re-parse that cell later if you convert the CSV back to JSON.

Do all my JSON objects need the same keys?

No. The tool scans every object and builds a union of all keys as the CSV header. Missing values are left as empty cells, so mixed or partial records still convert cleanly.

Related tools