# Flatten nested JSON — turn it into a table, no upload

> Flatten nested JSON or JSONL into dot-notation columns and export a flat CSV, in your browser. Paste or drop a file — nothing is uploaded.

Turn nested API JSON or JSONL into a flat table with dot-notation columns, then export CSV. Paste the JSON or drop a file; it's flattened in your browser with no upload.

API responses are nested, but spreadsheets and SQL want flat columns. Flattening bridges that: each nested path becomes a dot-notation column, so a deeply structured payload turns into a table you can filter, chart, or import.

It's the first step for analysing exported JSON logs or API dumps. To then query the result use SQL, or to generate types from the original JSON use JSON to TypeScript.

## How to

1. **Add JSON.** Paste JSON/JSONL or drop a file.
2. **Flatten.** Nested objects become dot-notation columns like address.city.
3. **Export.** Download the flat data as CSV.

## FAQ

### How are nested objects handled?

Nested keys are joined with dots (user.address.zip) so every leaf value becomes its own column — the standard way to fit nested JSON into a spreadsheet.

### Does it handle arrays and JSONL?

Yes. It accepts JSON and line-delimited JSONL, and expands structures into columns so API responses become analysable rows.

### Is my JSON uploaded to flatten it?

No. Parsing and flattening happen in your browser, so the data stays on your device.


## Related tools

- [SQL query](https://www.safepaper.app/data/sql-query)
- [JSON → TypeScript](https://www.safepaper.app/data/json-to-typescript)
- [Format swap](https://www.safepaper.app/data/csv-to-json)
- [Quick charts](https://www.safepaper.app/data/charts)

---

Canonical HTML: https://www.safepaper.app/data/json-flatten
Markdown: https://www.safepaper.app/data/json-flatten.md

There is no upload endpoint — your files are processed in this browser tab. Open your network tab and check.
