JSON to CSV Converter

Turn a JSON array into a spreadsheet-ready CSV. Nested objects are flattened into columns like address.city, and every value is quoted correctly.

Runs in your browser
Delimiter
Open file
Output
Excel

Table preview

Your data never leaves your computer. All processing happens 100% locally in your browser.

How to use the JSON to CSV

  1. Paste a JSON array of objects (or open a .json file). A single object becomes one row.
  2. Choose a delimiter — comma for most tools, semicolon for Excel in many European locales, tab for TSV.
  3. Decide how nested data is handled: flatten objects into parent.child columns, and expand, join or keep arrays as JSON.
  4. Check the table preview, then click Download .csv or Copy.

What is JSON to CSV conversion?

CSV (comma-separated values) is a flat table: one header row, then one line per record. JSON is hierarchical — objects can contain objects and arrays. Converting JSON to CSV therefore means deciding on columns, flattening nested structures, and escaping values so commas, quotes and line breaks inside fields do not break the table. The result opens directly in Excel, Google Sheets, Numbers or any database import tool.

How nested objects and arrays are flattened

With Flatten nested objects enabled, keys are joined with dots. Given this record:

{
  "id": 1,
  "address": {
    "city": "London",
    "country": "UK"
  },
  "tags": ["math", "computing"]
}

the converter produces these columns, depending on the array setting:

Array modeColumnsBest for
Expand into columnsid, address.city, address.country, tags.0, tags.1Round-tripping with CSV to JSON (rebuilds the nesting)
Join values… tags = math; computingReadable spreadsheets
Keep as JSON text… tags = ["math","computing"]Lossless storage in one cell

Columns are the union of keys across all records, in first-seen order, so records with missing fields simply get empty cells. null becomes an empty cell.

Quoting and escaping rules (RFC 4180)

A field is wrapped in double quotes when it contains the delimiter, a double quote, a line break, or leading/trailing spaces. Double quotes inside a field are escaped by doubling them: She said "hi" becomes "She said ""hi""". Enable Quote every field if your importer expects it.

Opening CSV files in Excel

Excel guesses the encoding and delimiter from your system settings. Two options help: the UTF-8 BOM (added to downloads by default) makes Excel display accents and emoji correctly, and the semicolon delimiter matches Excel's default in locales that use a comma as the decimal separator (Germany, France, Spain and others). If the data comes from untrusted users, enable Escape formulas: it prefixes values starting with =, +, - or @ with an apostrophe to prevent CSV formula injection.

Is your JSON failing to parse? Fix it first in the JSON Formatter, which pinpoints the error.

Tools that pair well with the JSON to CSV

  • JSON to YAML — Paste JSON and get clean YAML for Kubernetes manifests, Docker Compose, GitHub Actions or any config file.
  • Remove Duplicate Lines — Paste a list to remove duplicate lines instantly.
  • YAML to JSON — Paste YAML — a Compose file, Kubernetes manifest or CI config — and get formatted JSON.
  • JSON to TypeScript — Paste a JSON sample — an API response, a config — and get ready-to-use TypeScript interfaces with nested types, optional properties and union types.

Frequently asked questions

What JSON structure does the converter expect?
An array of objects works best — each object becomes a row. A single object becomes one row, and if the root object wraps one array of records (for example {"data": [...]}) that array is used automatically.
How do I open the CSV in Excel without broken characters?
Keep Add UTF-8 BOM enabled when downloading. If all data lands in one column, switch the delimiter to semicolon — Excel uses it by default in many European locales.
Can I convert the CSV back to JSON?
Yes — use the CSV to JSON converter with “Rebuild nested objects” enabled. Dot-notation headers such as address.city and tags.0 are turned back into nested objects and arrays.
Is there a size limit?
There is no fixed limit; conversion runs locally in your browser. Tens of thousands of rows convert in about a second, and the preview shows the first 50 rows.
What is CSV injection?
Spreadsheet apps execute cells that begin with =, +, - or @ as formulas. Malicious data can abuse this, so the Escape formulas option prefixes such values with an apostrophe.

Related tools