jsoncsvdata conversionjavascript
How to Convert JSON to CSV: 3 Easy Methods
Learn how to convert JSON data to CSV format using online tools, JavaScript, Python, and command-line tools.
April 20, 2024ยท6 min read
Why Convert JSON to CSV?
CSV (Comma-Separated Values) is ideal for:
- Opening data in Excel or Google Sheets
- Importing into databases
- Sharing data with non-developers
- Data analysis with pandas or R
Method 1: Online Tool (Fastest)
Use our JSON to CSV Converter - paste your JSON and download the CSV instantly.
Method 2: JavaScript
function jsonToCSV(data) {
const headers = Object.keys(data[0])
const rows = data.map(row =>
headers.map(h => JSON.stringify(row[h] ?? '')).join(',')
)
return [headers.join(','), ...rows].join('\n')
}
const data = [
{ name: 'Alice', age: 30, city: 'NYC' },
{ name: 'Bob', age: 25, city: 'SF' },
]
console.log(jsonToCSV(data))
// name,age,city
// "Alice",30,"NYC"
// "Bob",25,"SF"
Method 3: Python
import json, csv
with open('data.json') as f:
data = json.load(f)
with open('data.csv', 'w', newline='') as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
Handling Nested JSON
For nested objects, you need to flatten first:
function flatten(obj, prefix = '') {
return Object.entries(obj).reduce((acc, [k, v]) => {
const key = prefix ? `${prefix}.${k}` : k
if (typeof v === 'object' && v !== null && !Array.isArray(v)) {
return { ...acc, ...flatten(v, key) }
}
return { ...acc, [key]: v }
}, {})
}
Our JSON to CSV tool handles nested JSON automatically.