Convert JSON arrays to CSV files instantly. Free, private, runs in your browser — no signup, no data sent to servers.
Convert JSON to CSV →The converter expects a JSON array of objects. Each object becomes a CSV row:
[
{ "name": "Alice", "age": 30, "city": "New York" },
{ "name": "Bob", "age": 25, "city": "London" },
{ "name": "Carol", "age": 35, "city": "Tokyo" }
]
Output CSV:
name,age,city Alice,30,New York Bob,25,London Carol,35,Tokyo
Nested objects are flattened using dot notation:
[
{
"name": "Alice",
"address": { "city": "New York", "country": "USA" }
}
]
Becomes:
name,address.city,address.country Alice,New York,USA
Need to convert JSON to CSV programmatically? Here is a simple function:
function jsonToCSV(data, delimiter = ',') {
if (!data.length) return '';
const headers = Object.keys(data[0]);
const escape = val => {
const str = String(val ?? '');
return str.includes(delimiter) || str.includes('"') || str.includes('\n')
? `"${str.replace(/"/g, '""')}"` : str;
};
const rows = data.map(row => headers.map(h => escape(row[h])).join(delimiter));
return [headers.join(delimiter), ...rows].join('\n');
}
const csv = jsonToCSV([
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 }
]);
// name,age
// Alice,30
// Bob,25
import json, csv, io
def json_to_csv(json_data):
data = json.loads(json_data) if isinstance(json_data, str) else json_data
output = io.StringIO()
writer = csv.DictWriter(output, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
return output.getvalue()
json_str = '[{"name":"Alice","age":30},{"name":"Bob","age":25}]'
print(json_to_csv(json_str))
| Delimiter | Use When |
|---|---|
| Comma (,) | Standard CSV — works with Excel (US), Google Sheets, Python csv module |
| Semicolon (;) | European Excel versions (which use comma as decimal separator) |
| Tab (\t) | TSV format — best when data contains commas (e.g. addresses) |
| Pipe (|) | When data contains commas and semicolons |
[{"id":1,"name":"Alice"},{"id":2,"name":"Bob"}]. Nested objects can be flattened (e.g., address.city becomes a column). Arrays within objects are serialized as JSON strings in the CSV cell.{"user":{"name":"Alice"}} becomes column user.name. For deeply nested structures, consider using the JSON Flatten tool first.Free, private, instant. Your data never leaves your browser.
Open JSON to CSV →Also useful: JSON to YAML | JSON to XML | JSON Formatter | JSON Diff