JSON to CSV

Turn a JSON array of objects into a CSV spreadsheet — free and instant. Nested objects are flattened into dot-notation columns, and the conversion happens entirely in your browser.

How to convert JSON to CSV

  1. Add your JSON. Paste a JSON array of objects into the box above, or press Load JSON file to open a .json file. A single object or an array of arrays works too.
  2. Pick your options. Choose the column delimiter (comma for standard CSV, semicolon for Excel in many European locales, or tab for TSV) and whether to include a header row and flatten nested objects.
  3. Convert and export. Press Convert to CSV, then copy the result to the clipboard or download it as a .csv file ready for Excel, Google Sheets or any database import.

About this tool

This free JSON to CSV converter transforms API responses, database exports and configuration data into spreadsheet-ready CSV. Nested objects are flattened using dot notation — {"address":{"city":"Paris"}} becomes an address.city column — and objects with different keys are merged into one consistent column set, with missing values left blank. Arrays inside a record are embedded as JSON strings so no data is lost, and every field containing the delimiter, quotes or line breaks is properly quoted per RFC 4180.

Everything runs locally in your browser: your JSON is never uploaded to a server, making the tool safe for API keys, user records and other sensitive payloads. Lines end with CRLF so the file opens cleanly in Excel. Need to go the other way? Use the companion CSV to JSON converter.

Frequently asked questions

What JSON structures can be converted?

An array of objects gives the best result (one object per row). Also accepted: a single object (converted as one row), an array of arrays (rows of cells), and arrays of plain values (a single "value" column). Deeply nested objects are handled by the flattening option.

How are nested objects and arrays handled?

With flattening enabled, nested objects become dot-notation columns like user.address.city, at any depth. Arrays are kept as JSON text inside a single cell (e.g. ["a","b"]), because spreadsheets have no native list type. Disable flattening to keep whole nested objects as JSON text instead.

Why does Excel show everything in one column?

Excel in many European locales expects semicolons instead of commas. Re-convert with the semicolon delimiter, or use Excel's Data → From Text/CSV import and pick the delimiter manually.

What if my objects have different keys?

The converter takes the union of all keys in the order they first appear, so every column exists for every row. Rows that lack a key simply get an empty cell — nothing is dropped or reordered.