JSON-to-CSV conversion is a daily task for anyone working with APIs. Here's every method from no-code to full Python.
Online (No Code)
ZeroPhantom converter — upload JSON, download CSV with dot-notation flattening for nested objects.
Python — pandas (Recommended)
import pandas as pd, json
with open('data.json') as f:
data = json.load(f)
pd.json_normalize(data).to_csv('output.csv', index=False)
json_normalize handles nested objects automatically, flattening to parent.child column names.
Command Line — jq
cat data.json | jq -r '(.[0] | keys_unsorted) as $k | $k, (.[] | [.[$k[]]] | @csv)' | head
Handling Nested Arrays
When objects contain arrays (e.g. an order with multiple items), choose: explode (one row per item) or stringify (keep as JSON string in one cell). Explode is better for analysis; stringify is simpler.
Reverse: CSV to JSON
import pandas as pd
df = pd.read_csv('input.csv')
df.to_json('output.json', orient='records', indent=2)
Convert JSON to CSV free — handles nested objects →