Convert JSON to CSV
Turn a JSON array of objects into CSV for Excel or Google Sheets; nested objects become dot-separated columns.
0 / 2,000,000 characters · Updates as you type.
API responses come as JSON; the people who need the data want a spreadsheet. This converter takes an array of objects and produces one CSV row per object, with a header row made of every key that appears in any object, in order of first appearance. Objects that lack a key get an empty cell.
Nested objects are flattened with dot notation, so {"user": {"name": "Amina"}} becomes a column called user.name. Arrays and other values that cannot be a single cell are written as JSON text inside the cell. Cells containing the delimiter, quotes or line breaks are quoted according to RFC 4180, and lines end with CRLF so Excel opens the file without a wizard.
A single object (not in an array) is treated as a one-row table, which is handy for turning one record into a row you can paste into a sheet.
How to use it
- Paste a JSON array of objects. The conversion runs as you type.
- Pick a delimiter: comma for most tools, semicolon if your Excel uses a decimal comma, tab for TSV.
- Check the note under the result for the row and column count.
- Download the .csv file or copy the text into a spreadsheet.
Frequently asked questions
Excel put everything in one column. Why?
Your Excel locale uses a semicolon as the list separator (common in Germany, France, the Netherlands and much of the Middle East when Windows is set to those regions). Choose the semicolon delimiter and open the file again.
How are nested arrays handled?
An array value is written as JSON text in a single cell, for example ["a","b"]. Flattening arrays into extra columns would produce a different column count per row, which spreadsheets handle badly.
Will Excel show Arabic or accented text correctly?
The download is UTF-8. Recent Excel versions detect this. If you see garbled characters, use Data > From Text/CSV in Excel and choose UTF-8, or open the file in Google Sheets or LibreOffice, which always read UTF-8.
Does it work with newline-delimited JSON (NDJSON)?
Not directly. Wrap the lines in square brackets and separate them with commas, then convert.
Is my data uploaded?
No. The conversion runs entirely in your browser, which is why there is no size limit beyond what your device can handle in a text box (2 million characters).
Related tools
- Format, beautify or minify JSONPretty-print or minify JSON with 2-space, 4-space or tab indentation and optional key sorting.
- Validate JSON and locate the errorCheck whether text is valid JSON and see exactly where it breaks, with line, column and a caret.
- Encode or decode Base64Encode text to Base64 or decode Base64 back to text, UTF-8 safe, with a URL-safe option.
- URL-encode or decode textPercent-encode text for URLs (encodeURIComponent or encodeURI) or decode an encoded string.
- Generate UUIDs (v4 or v7)Generate 1 to 100 random UUID v4 or time-ordered UUID v7 identifiers with crypto-grade randomness.