JSON to CSV converter
About JSON to CSV
The JSON to CSV converter turns an array of JSON objects into rows and columns. Keys become the header row and each object becomes a data row, ready for Excel, Google Sheets, Numbers or a data pipeline.
Use it to hand a dataset to someone who works in spreadsheets, or to import records into a tool that only reads CSV. Runs in your browser. Nothing is uploaded.
How it works
Flattening nested objects with dot paths
Nested objects do not fit in flat columns. With Flatten nested on, a key like address.city becomes its own column, so every leaf value gets a named column. With it off, nested values are written as JSON text in one cell.
Choosing a delimiter
Pick comma, semicolon or tab. Comma is the CSV default. Semicolon suits locales that use a comma as the decimal separator. Tab (TSV) avoids quoting when your data has many commas.
Quoting and escaping
Values that contain the delimiter, quotes or newlines are wrapped in double quotes, and quotes inside them are doubled. This is the standard CSV convention, so any spreadsheet can read the output.
Ragged and missing fields
When objects have different keys, the header uses every key that appears in any object. Cells stay empty where an object lacks a field, so rows still line up.
Frequently asked questions
How are nested objects handled in CSV?
With flattening on, nested keys become dot-path columns like user.address.city. Turn flattening off to keep nested objects as JSON text inside one cell.
Which delimiter should I pick?
Comma is standard. Use semicolon if your spreadsheet treats the comma as a decimal point, or tab if your values often contain commas.
What if my objects have different keys?
The header includes every key from every object. Cells are left blank where an object is missing that field.
Will my data be uploaded to convert it?
No. The conversion runs in your browser.
What JSON shapes can be converted to CSV?
CSV is a table, so the input must be one object or a non-empty array of objects. Empty arrays, primitives, null, arrays of arrays and mixed arrays are rejected with an error instead of producing a misleading file.
Sources & last verified
We checked this tool's behavior and the claims on this page against the specifications below on . The tool runs in your browser, so the output you see is exactly what the engine produced.
Found a wrong result or an outdated claim? Report an error and we will check it again.