N

Runs in your browser · nothing is uploaded

JSON to CSV Converter

Turn a JSON file or API response into a clean CSV — nested fields flattened into columns, arrays handled the way you choose, and nothing uploaded.

Paste, drop a file here or open one. It's read in your browser and never uploaded.

CSV

Paste JSON or open a .json file — or try the example — to see the table here.

How the conversion works

  1. Each item in the chosen array becomes one row. A single object becomes one row.
  2. Nested keys are joined with the separator: customer.email.
  3. Columns are the union of every record's keys, in first-seen order.
  4. Cells containing the delimiter, quotes or line breaks are quoted, with quotes doubled — standard CSV (RFC 4180).

Example

[{"id": 1, "user": {"name": "Ana"}, "tags": ["a","b"]},
 {"id": 2, "user": {"name": "Ben, Jr."}}]

becomes

id,user.name,tags
1,Ana,"[""a"",""b""]"
2,"Ben, Jr.",

Frequently asked questions

How do I convert JSON to CSV?+

Paste your JSON or open a .json file. Pick which list becomes the rows — the converter finds arrays of records anywhere in the file — choose how nested values and arrays are written, then download the CSV.

How are nested objects handled?+

With flattening on, nested keys become columns joined by a separator: {"customer": {"name": "Ana"}} becomes a customer.name column. Columns appear in the order they're first seen, so the same input always gives the same layout. Records missing a field get an empty cell.

What happens to arrays?+

Choose one of three: keep the array as JSON text in one cell, join simple values with “; ”, or give each item its own column (tags.0, tags.1 …). Arrays of objects can't be joined, so they stay as JSON text unless you choose separate columns.

What is “spreadsheet-safe” export?+

A cell that starts with =, +, −, @ or a tab can run as a formula when the CSV is opened in Excel or Google Sheets — a known risk called CSV or formula injection. Safe export puts an apostrophe in front of those cells in the download only. Plain numbers like −42 are left alone, and the preview always shows your original data.

Is my JSON uploaded?+

No. The file is read and converted in your browser. Nothing is sent to a server or stored.

Why does my file say “Not valid JSON”?+

The message gives the line and column where reading stopped. Common causes are a trailing comma, single quotes instead of double quotes, comments, or a missing closing bracket.