JSON Flattener
Turn a nested API response into flat, table-ready columns. Pick the array that holds your rows, see the column schema it produces, and export as CSV.
The array whose elements become rows.
Underscore is friendlier for SQL destinations.
Index columns vary per row; join keeps a stable schema.
Column schema
| Column | Type | Fill | Example |
|---|
Ready to automate?
Doing this by hand every time? Simple Data Foundry's REST API source flattens the response for you and lands the rows in Google Sheets, Airtable or Postgres on a schedule.
Frequently Asked Questions
What does flattening JSON mean?
Nested objects are collapsed into single-level columns using dot notation. {"user": {"name": "Ada"}} becomes a column "user.name" with the value "Ada". Spreadsheets and database tables can only hold flat columns, so this is the step between an API response and a table.
My rows are wrapped in an envelope like {"data": {"results": [...]}}. Can it handle that?
Yes. The tool scans the payload for arrays and lets you pick which one holds your rows. Choose data.results and each element of that array becomes a row; everything else is ignored.
How are arrays inside a row handled?
Three ways, your choice. Index columns expands them into tags.0, tags.1 and so on. Join renders the values into one cell separated by a pipe. JSON string keeps the raw array as text in a single cell.
What are the type and fill columns for?
Fill is the percentage of rows where the column has a value. A column at 4% fill is usually an optional field you do not want as a destination column, and a mixed type usually means the API returns different shapes for different records — both are worth knowing before you map the data.
Is my data safe?
Yes. Everything runs in your browser. Nothing is uploaded, logged, or sent to any server — you can load this page, disconnect from the network, and it still works.