Converters

JSON to CSV Converter

Convert a JSON array of objects into CSV, entirely in your browser.

How it works

The input must be a JSON array of objects. Column headers are taken from every unique key across all objects — if a row is missing a key, that cell is left empty. Values containing commas, quotes, or line breaks are automatically quoted correctly.

Headers appear in the order each key is first seen. A value that contains a comma, a double quote or a line break is wrapped in double quotes, and any double quote inside it is doubled, which is the standard CSV convention spreadsheets expect.

Example

This input has two objects with different keys:

[{"name":"Alice","age":30},{"name":"Bob","city":"Chicago"}]

It produces three header columns and two rows:

name,age,city
Alice,30,
Bob,,Chicago

Limits to know about

Nested data is not flattened. A nested object comes out as the text [object Object], and an array is joined with commas into one quoted cell, so flatten or reshape deeply nested JSON first. A null value becomes an empty cell. The file is plain UTF-8 with no byte order mark, so Excel may show accented or non-Latin characters incorrectly when you double-click it; importing it as UTF-8 fixes that. Everything is converted in your browser and nothing is uploaded.

When to use it

Use it to open an API response or a data export in a spreadsheet, to prepare records for a database or mailing-list import, or to share data with someone who would rather work in Excel or Google Sheets. If your JSON is an object that holds the list under a key, such as {"items": [...]}, copy just the array itself into the box, because the tool expects the top level to be the array.

Guide

Frequently asked questions

What if some objects have different keys?

Column headers are taken from every unique key across all objects — a row missing a particular key just gets an empty cell for that column.

Related tools