Why flatten JSON?
Databases and log systems often store nested JSON, but analysis tools (spreadsheets, BI, pandas json_normalize) want flat rows. Flattening converts {"user":{"address":{"city":"Shanghai"}}} into user.address.city = "Shanghai" — one line per leaf value.
What the tool does
- Dot notation: nested objects become
parent.child.keypaths. - Arrays: each element gets an index (
orders.0.id) — toggle it off to keep just the first element or aggregate keys. - Values: strings, numbers, booleans and nulls are preserved; nested objects and arrays are always expanded to leaves.
- CSV export: one header row + one data row — the classic shape for spreadsheet ingestion.
Use cases
- Pasting an API response to inspect every field path (great with the JSONL Tools).
- Preparing nested records for a CSV import in a tool that only accepts flat columns.
- Writing JMESPath-style queries by seeing the full path list first.
Everything runs locally — your JSON never leaves the tab.