JSON Tool

JSON to CSV Converter – Flatten Nested JSON Online

Convert any JSON array to a clean, spreadsheet-ready CSV — nested objects automatically flattened with dot-notation headers.

Delimiter:
JSON Input
CSV Output
CSV output will appear here...

Nested Made Flat

Nested objects become dot-notation columns: address.city, address.zip — no data lost.

Excel-Ready

UTF-8 with proper quote escaping. Opens cleanly in Excel, Google Sheets, and Numbers.

100% Private

Conversion happens entirely in your browser. Your data is never uploaded.

Hand-picked tools that pair well with this one.

Why Convert JSON to CSV?

API responses, MongoDB exports, and analytics events are usually JSON — but stakeholders, analysts, and Excel-trained colleagues want CSV. A clean conversion lets you drop the data into a pivot table, share it with finance, or import it into another tool that doesn't speak JSON.

How Flattening Works

Nested keys become dot-notation column headers — address.city, address.zip, roles[0] — so deeply nested API payloads land in a flat table with every value preserved. Toggle off flattening and nested objects get JSON-stringified into a single cell instead.

Key Features

Header Preservation Every key from every row is captured — missing fields become empty cells, never silently dropped.
Nested Object Support Deep structures get flattened with dot-notation paths so no data gets lost.
Choose Your Delimiter Comma, semicolon, tab, or pipe — match the format your downstream tool expects.
Privacy by Design Conversion runs locally — your JSON, even with sensitive fields, never leaves the browser.

Pro Tip

If your CSV opens with mojibake characters in Excel on Windows, save it then open via Data → From Text/CSV with UTF-8 encoding. Most modern Excel installs handle UTF-8 directly.

Walkthrough: API Response to Spreadsheet

Suppose you've pulled a list of users from a REST endpoint and the response looks like [{"id":1,"name":"Ada","address":{"city":"London"}}, ...]. Paste it in, click Convert to CSV, and the output is a header row id,name,address.city followed by one row per user. Click Download .csv, double-click the file, and you're in Excel with three properly typed columns. No upload, no quota, no signup.

Frequently Asked Questions

My JSON is a single object, not an array — does that work?

Yes. A single object is treated as a one-row table. Wrap multiple objects in [...] to get multiple rows.

What happens to arrays inside objects?

With flattening on, arrays become indexed columns: roles[0], roles[1]. Without flattening, they're JSON-stringified into a single cell — useful for re-importing later.

Are values containing commas or quotes handled correctly?

Yes. Values containing the delimiter, double quotes, or newlines are wrapped in quotes and inner quotes are doubled — RFC 4180 compliant CSV escaping.

Does this run offline?

Yes. After the page loads, no network calls are made. The CSV is generated entirely in your browser.