</> Format Swapper

JSON · XML · CSV · YAML — convert between any of them

JSON to CSV Converter

Flatten a JSON array of objects into a CSV table you can open in a spreadsheet. Free, instant, and no signup required.

Input (JSON)
Output (CSV)

About JSON to CSV conversion

JSON is the lingua franca of web APIs and NoSQL stores like MongoDB — every mainstream language can parse it natively, but it can't represent comments or trailing commas. CSV is the universal format for spreadsheets and data-analysis pipelines like Excel, Google Sheets, and pandas — inherently flat, so nested structures don’t exist natively.

Nested objects flatten into dot-notation columns (address.city), arrays of objects flatten into bracket-indexed columns (tags[0], tags[1]), and arrays of plain values join into one semicolon-separated cell. Converting the other direction reconstructs the original nesting from those column names, so keeping that naming convention in a hand-edited CSV keeps the round-trip clean.

How to convert JSON to CSV

  1. Paste your JSON into the left editor, or click sample above it to try example data.
  2. Click Convert. The CSV result appears on the right instantly.
  3. Click copy to copy the result, or download to save it as a file.

Example

Input (JSON):

{
  "name": "Ada Lovelace",
  "role": "Mathematician",
  "active": true,
  "skills": ["math", "programming"]
}

Output (CSV):

name,role,active,skills
Ada Lovelace,Mathematician,true,math; programming

Frequently asked questions

What happens to nested objects when converting between CSV and JSON? CSV has no nesting, so this converter uses dot-notation column headers (address.city) to represent nested fields, and bracket-indexed headers (tags[0], tags[1]) for arrays. Converting JSON to CSV flattens using that same convention, so round-tripping preserves structure as long as the column names follow it.
Do I need to create an account? No. There's no signup, login, or account required — paste your data and click Convert.
Is there a file size limit? There's no hard-coded limit, but very large inputs (multi-megabyte files) can slow down or briefly freeze the tab while converting. For big files, converting in smaller chunks works better.
Why did my conversion fail? Check the status line under the Convert button — it reports the exact line and column where the parser stopped, and the input editor highlights that line in red so you can jump straight to it.