Search tools

Find a tool by name or what it does.

JSON to CSV

Flatten a JSON array of objects into clean CSV, with nested keys expanded to dotted columns and your choice of delimiter.

Converted to CSV live as you type. Nothing leaves your browser.

Delimiter

How to convert JSON to CSV online

  1. Paste your JSON

    Paste a JSON array of objects into the input. A single object is treated as a one-row table, and conversion starts immediately.

  2. Choose a delimiter

    Pick comma for standard CSV, semicolon for spreadsheets in locales that use decimal commas, or tab for TSV output.

  3. Copy the CSV

    The flattened CSV rebuilds live as you edit. Click Copy CSV and paste it into a spreadsheet or a file.

Why use this tool

Flattens nested objects

Nested structures become dot-notation columns, so a user object with a name field turns into a user.name column instead of an unreadable blob.

Union of all columns

Every key that appears in any object becomes a column, in first-seen order. Objects missing a key get an empty cell rather than a shifted row.

Arrays survive as JSON

An array inside a record is written into its cell as a compact JSON string, so nothing is silently dropped.

Three delimiters

Comma, semicolon, or tab. Fields containing the delimiter, quotes, or line breaks are quoted and escaped automatically.

Inline errors, live output

Invalid JSON shows the parser message in place of the output and clears the moment the input parses again.

Processed on your device

The CSV is generated in your browser, so an export of real user records is never handed to a server.

About this tool

This converter turns JSON into CSV in the browser, flattening the structure first and then writing properly quoted rows. Objects nested inside records are expanded into dot-notation columns, arrays are kept as compact JSON strings inside their cell, and the column list is the union of every key found across all records, in the order they first appear. The output regenerates on every edit, debounced so large documents stay responsive.

The usual destination is a spreadsheet. API responses, database exports, log dumps, and webhook payloads arrive as JSON arrays, and the fastest way to sort, filter, or share that data with someone non-technical is to flatten it into rows and open it in Excel or Google Sheets. The semicolon option exists for exactly that route: spreadsheets in many European locales expect semicolons because the comma is their decimal separator.

Conversion happens entirely on your device, which matters when the JSON is a production export with customer emails or order history in it. Nothing is posted anywhere. For the reverse direction, the CSV to JSON converter rebuilds objects from rows, and the JSON formatter is the quickest way to validate and tidy the input before you convert it.

Frequently asked questions

How does the JSON to CSV converter work?
Paste a JSON array of objects and the CSV updates live as you type. Every unique key across all objects becomes a column, and each object becomes a row. A single JSON object is treated as a one-row table.
How are nested objects handled?
Nested objects are flattened into dot-notation columns, so {"user":{"name":"Ada"}} becomes a column called user.name. Arrays inside a row are kept as a compact JSON string in the cell so no data is lost.
Is my JSON uploaded anywhere?
No. The conversion runs entirely in your browser. Your data never leaves your device, is never sent to a server, and is not stored or logged.
Can I change the delimiter?
Yes. Choose comma for standard CSV, semicolon for locales where commas are decimal separators, or tab for TSV. Fields that contain the delimiter, quotes, or line breaks are automatically quoted and escaped.
What happens if my JSON is invalid?
The tool shows an inline error message instead of crashing, and clears it as soon as the JSON becomes valid again. Empty input simply shows a neutral empty state.

Related tools