DevsToolkit

JSON to CSV

CSV

Convert a JSON array of objects to CSV format

All processing happens locally in your browser — your data never leaves your machine.
Loading tool...

Examples

Basic Array of Objects

Input
[
  { "name": "Alice", "age": 30, "city": "New York" },
  { "name": "Bob", "age": 25, "city": "San Francisco" }
]
Output
name,age,city
Alice,30,New York
Bob,25,San Francisco

Mixed Keys Across Objects

Input
[
  { "id": 1, "name": "Widget", "price": 9.99 },
  { "id": 2, "name": "Gadget", "color": "blue" },
  { "id": 3, "name":...
Output
id,name,price,color
1,Widget,9.99,
2,Gadget,,blue
3,Doohickey,4.50,red

Nested Objects and Special Characters

Input
[
  { "name": "O'Reilly, Inc.", "address": { "city": "Boston", "state": "MA" } },
  { "name": "Acme Corp", "address": { ...
Output
name,address
"O'Reilly, Inc.","{""city"":""Boston"",""state"":""MA""}"
Acme Corp,"{""city"":""Denver"",""state"":""CO""}...

Frequently Asked Questions

What JSON structure is required?
The input must be a JSON array of objects (e.g. [{"name": "Alice"}, {"name": "Bob"}]). Each object becomes a row, and all unique keys across objects are used as column headers.
How are nested objects and arrays handled?
Nested objects and arrays are serialized as JSON strings within the CSV cell. For example, {"address": {"city": "NY"}} would produce a cell containing the JSON string {"city":"NY"}.
Which delimiters are supported?
You can choose between comma, tab, and semicolon delimiters. The default is comma. Values containing the delimiter, quotes, or newlines are automatically wrapped in double quotes.

Related Tools