Two simple rows
[{"name":"Ada","team":"Data"},{"name":"Grace","team":"Platform"}]Two CSV rows with name and team columns
Paste a JSON object or array, flatten nested fields into dot-notation columns, preview the rows, and copy or download the CSV without uploading your data.

Private browser converter
Paste one object or an array of objects. Nested objects become dot-notation columns, while arrays stay together inside one CSV cell.
0 B of 5 MB
Safe defaults for spreadsheet exports
Turn a small API response into spreadsheet rows without uploading it.
Flatten nested customer, product, or event objects into dot-notation columns.
Preview irregular JSON records before copying them into a data-cleaning workflow.
Create comma, semicolon, or tab-separated exports with spreadsheet formula protection.
Two CSV rows with name and team columns
Columns named id and profile.city
The exported label starts with an apostrophe when protection is on
Need a slower walkthrough, a related converter, or the full library? These links keep you close to the task you started.
Plain-language answers about accepted JSON shapes, nested columns, CSV quoting, spreadsheet safety, file encoding, and browser privacy.
Use it when your task matches one of these common needs: Turn a small API response into spreadsheet rows without uploading it. Flatten nested customer, product, or event objects into dot-notation columns. It works best when you already know valid JSON containing one object or an array of objects, plus the delimiter and export-safety settings you need.
In plain language: The tool parses one JSON object or an array of objects, recursively flattens nested objects into dot-notation columns, keeps arrays together as JSON cells, preserves first-seen column order, and applies CSV quoting rules. Spreadsheet-safe mode prefixes cells that start with =, +, -, or @. The examples on the page are there so you can compare your inputs with a converted JSON example before copying the answer.
JSON input: One object becomes one CSV row. An array of objects becomes multiple rows. Primitive roots and arrays containing non-object items are rejected. Delimiter: Comma makes standard CSV, semicolon can help in comma-decimal locales, and tab makes tab-separated output. Escape spreadsheet formulas: When on, cells starting with =, +, -, or @ after optional whitespace get an apostrophe prefix before export. UTF-8 BOM: An optional invisible marker that can help some spreadsheet apps recognise non-English characters.
Read the output next to your original input. If the tool changes format, units, encoding, spacing, or capitalization, compare a small sample before copying the whole result into another app.
The input must be valid JSON with an object at the top level or an array containing only objects. The browser limit is 5 MB, arrays stay inside one cell, and dot-notation field collisions must be renamed before conversion. Also check nested dot-notation headers, serialized array cells, missing fields, the chosen delimiter, and whether formula escaping changes a value you expected to remain numeric.
Nested object keys become dot-notation columns. For example, profile.city becomes one column. Empty objects stay as {} so the field is not silently lost.
An array stays together as compact JSON inside one CSV cell. The converter does not create extra rows from array items because that could change the meaning of the original record.
A field containing the selected delimiter, a double quote, or a line break is wrapped in double quotes. Any double quote inside that field is doubled, following the common CSV format described by RFC 4180.
Spreadsheet programs may treat cells beginning with =, +, -, or @ as formulas. The apostrophe asks the spreadsheet to treat the cell as text. Keep this on for exports containing data you did not write yourself.
The converter uses the union of first-seen fields across every object. If one object does not contain a field that another object has, its CSV cell is left blank.
No. Parsing, flattening, previewing, copying, and downloading run in your browser tab. Access Free Tools does not receive your JSON or generated CSV, and the input and output areas are masked from Microsoft Clarity.