JSON to CSV Converter
Convert a JSON array of objects into CSV. Nested objects flatten to dot-notation columns, headers are the union of every key, and fields are quoted per RFC 4180 with a comma, semicolon or tab delimiter.
Input
Options
Nested keys become dot-notation columns (user.name); off keeps them as compact JSON in one cell.
Output
Guides
Turn a JSON array of objects into a spreadsheet-ready CSV file. Paste the JSON, pick a delimiter, and get a table whose columns are the union of every key found in your data — ready to open in Excel, Google Sheets, Numbers, or to feed into a database import.
How to use it
- Paste your JSON (an array of objects, or a single object) into the input box, or drop a
.jsonfile onto the uploader. - Choose the delimiter — comma, semicolon or tab.
- Decide whether to include a header row and whether to flatten nested objects.
- Copy the CSV, or download it as
converted.csv.
How are the columns worked out?
Every key in every object becomes a column, in the order the keys are first seen. Objects that are missing a key simply get an empty cell, so ragged data (records with different fields) converts cleanly instead of failing.
What happens to nested objects and arrays?
With Flatten nested objects on (the default), nested keys become dot-notation columns and array items get an index: {"user":{"name":"Alice"},"roles":["admin","dev"]} becomes the columns user.name, roles[0] and roles[1]. Turn flattening off and each nested value stays in a single cell as compact JSON — handy when the consumer of the CSV wants the raw structure back.
How are commas, quotes and newlines handled?
Per RFC 4180, the standard every spreadsheet understands: a field is wrapped in double quotes only when it contains the delimiter, a double quote or a line break, and any embedded double quote is escaped by doubling it (" becomes ""). Newlines inside a value are preserved inside the quoted field rather than being mangled. That means the output round-trips: run it through the CSV to JSON Converter and you get your rows back.
Which delimiter should I pick?
Comma is the default and the safest bet. Choose semicolon if your spreadsheet uses a locale where the comma is the decimal separator (much of Europe) — Excel will otherwise drop everything into one column. Choose tab to produce a TSV, the friendliest format for pasting straight into a spreadsheet or a terminal.
What if my JSON is not an array of objects?
A single object converts to a one-row CSV. Plain values inside an array (strings, numbers) land in a single value column. Anything that is not valid JSON is reported with the parser's exact error message so you can fix it.
Is my data uploaded anywhere?
No. The conversion runs entirely in your browser — your JSON never leaves your device, is never logged and is never stored. Exports containing customer records, analytics or other sensitive data are safe to paste here.