JSON to CSV Converter

Paste a JSON array (or upload a .json file) and get spreadsheet-ready CSV instantly. Nested objects become dotted column names like address.city.

CSV output
Ctrl + Enter to run

Runs 100% in your browser — your data is never uploaded to our server.

What this JSON to CSV converter does

CSV is still the easiest way to move data into Excel, Google Sheets, a BI tool or a database import wizard. This converter reads a JSON array of objects and turns every object into one row, and every unique key into one column. Columns appear in the order they are first seen, so the output keeps the shape of your data instead of sorting it alphabetically.

Real-world JSON is rarely flat. When Flatten nested objects is on, a value such as {"address": {"city": "Pune"}} becomes a column called address.city. Arrays are written into a single cell as JSON text (for example ["Go","Kubernetes"]) so no information is lost. Values that contain the delimiter, quotes or line breaks are quoted according to RFC 4180, so the file opens correctly in every spreadsheet program.

How to convert JSON to CSV

  1. Paste your JSON into the left box, drag a .json file onto it, or click Upload.
  2. Pick a delimiter. Use semicolon if your Excel uses a comma as the decimal separator (common in Europe), or tab for TSV.
  3. Check the result in the CSV tab or switch to Table for a quick visual preview.
  4. Click Download to save a UTF-8 .csv file (with a byte-order mark so Excel shows accented and non-Latin characters correctly) or Copy it to the clipboard.

Example

JSON

[
  {"id": 1, "name": "Alice", "address": {"city": "Pune"}},
  {"id": 2, "name": "Bob, Jr.", "address": {"city": "Austin"}}
]

CSV

id,name,address.city
1,Alice,Pune
2,"Bob, Jr.",Austin

Supported input shapes

  • Array of objects – the usual API response: [{...}, {...}].
  • Single object – converted into a CSV with one data row.
  • Wrapper object – {"items": [...]} with exactly one array is unwrapped automatically.
  • Array of values – [1, 2, 3] becomes a single column called value.
  • Objects with different keys – missing values are left as empty cells.

Frequently asked questions

How do I open the CSV in Excel without broken characters?

Use the Download button. The file is saved as UTF-8 with a byte-order mark, which tells Excel to read it as Unicode. If your regional settings use a comma as decimal separator, choose the semicolon delimiter before downloading.

What happens to nested arrays?

Arrays are kept as JSON text inside one cell, for example ["a","b"]. This keeps the CSV rectangular. If you need one row per array element, flatten the data first or use the JSONPath tool to extract the array you need.

Is there a size limit?

There is no fixed limit — conversion runs in your browser, so the practical limit is your device memory. Files of several megabytes convert in well under a second on a modern computer. Very large inputs switch to manual mode; just press Convert.

Is my JSON uploaded anywhere?

No. The conversion runs entirely in JavaScript on your device. The data you paste or upload is never sent to our server.