Paste a JSON array of objects, choose a delimiter (comma, semicolon, or tab), and click Convert. The tool flattens nested objects into dot-notation column headers and produces a properly quoted CSV file you can open in Excel or import into a database.
Free, fast, runs in your browser. No login needed.
.csv file, or Copy to paste it.The converter flattens each object in the array, builds a union of all keys across every row as the header, then writes one CSV row per object.
Nested object flattening. A nested object like {"address": {"city": "London"}} becomes a column named address.city. This is dot-notation flattening — arbitrarily deep nesting is supported.
Sparse rows. The header is the union of all keys found across all rows. If one row has a key that others lack, those cells are left empty. This matches standard CSV behavior for heterogeneous data.
String quoting. Strings are wrapped in double quotes and any " within a string is doubled to "" — RFC 4180 standard escaping. Numbers and booleans are written without quotes.
Arrays within rows. If a field value is itself an array, it is serialized as a JSON string inside a quoted cell. The array is not expanded into additional columns or rows. If you need array expansion, flatten the data first using the Flatten JSON tool.
Top-level auto-detection. If your input is a JSON object (not an array), the converter looks for the first key whose value is an array and uses that. For example, passing {"users": [...]} works the same as passing the array directly.
An array of objects — e.g., [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]. If your input is a JSON object containing an array (e.g., {"users": [...]}), the converter will find and use that array automatically.
Nested objects are flattened using dot notation. {"address": {"city": "London"}} becomes a column named address.city. Deep nesting is supported.
Array values are serialized as a JSON string inside a single cell. For example, ["tag1", "tag2"] becomes "["tag1","tag2"]" in the CSV. The array is not expanded into separate rows or columns.
Spreadsheet software in many European locales uses semicolons as the default CSV delimiter because commas are used as decimal separators. If your Excel or LibreOffice opens the file incorrectly, try switching to the semicolon option.
Yes. Download the .csv file and open it in Excel, Google Sheets, or LibreOffice Calc. Use the comma delimiter for English-locale software, semicolon for European locales, or tab for maximum compatibility.
No. The conversion runs entirely in your browser.