TEMP brand: Toolstack Lab — provisional name until Jack locks brand

Free tool · runs in your browser

JSON to CSV Converter

Paste a JSON array of objects and get clean CSV rows for Excel or Google Sheets. Nested objects are flattened — all in your browser.

Conversion runs entirely in your browser. Your data is never uploaded.

Why convert JSON to CSV?

JSON is the format APIs return; CSV is the format spreadsheets open. Every time you pull data from an API and want to look at it in Excel, share it with a colleague, or load it into a database, you pass through this conversion. A JSON array of objects maps naturally onto CSV: each object becomes a row, each key becomes a column. The friction is in the details — nested objects, arrays inside objects, commas inside values — and a converter that handles those details correctly saves the manual cleanup that follows a naive conversion.

How it works

Paste a JSON array of objects into the left box. Nested objects are flattened with dot notation, so an address object becomes address.country and address.postcode columns. Arrays inside objects are kept as compact JSON text in a single cell, because a CSV row has no way to represent a list otherwise. Values containing the delimiter, a quote or a line break are wrapped in quotes following RFC 4180, so the output opens correctly in Excel and Google Sheets instead of splitting into the wrong columns.

Common gotchas

The most common problem is a JSON file that is not an array: a single object or an object wrapping the array under a key. This converter accepts a single object by treating it as a one-row table, but if your data sits under a key such as "results", extract that array first. The second problem is inconsistent keys: if some objects have a field and others do not, the missing cells are left empty, which is correct but worth checking. The third is Excel opening the CSV with the wrong encoding for non-English text — saving as UTF-8 with a BOM, which most converters do, usually fixes it.

Frequently asked questions

How are nested objects handled?

They are flattened with dot notation: an object like {"address": {"city": "London"}} becomes a column called address.city. Arrays are kept as compact JSON text in one cell, since CSV has no native way to represent a list.

Why do some cells come out empty?

Because not every object in your array has every key. The converter builds the header from the union of all keys, and objects missing a key get an empty cell in that column. That is correct behaviour — check whether the missing data is real or a data quality issue.

Will the CSV open correctly in Excel?

Yes, as long as the values are escaped properly — this converter follows RFC 4180, wrapping values that contain commas, quotes or line breaks in double quotes. If Excel still splits a column, check that the delimiter matches what Excel expects for your locale.

Last updated 2026-11-09. Results are estimates for planning only — always confirm with the official source before spending money or signing anything. This tool runs entirely in your browser; nothing you type or upload leaves your device.