JSON to Table
Paste JSON and instantly view it as a readable table — export array data straight to CSV.
Table
Enter JSON on the left to see it as a table.
What is JSON to Table?
JSON to Table is a converter that takes a JSON document and renders it as one or more related tables suitable for spreadsheet-style review or CSV export. It inspects the shape of the data automatically: flat objects produce a single table, nested plain objects are flattened into dot-path columns on the same row, and any nested array (a one-to-many relationship) becomes its own linked child table whose _parentId column points back to its parent. This mirrors the normalization a database designer would apply, but it happens with no mode to pick and no manual configuration. It is useful for making an API response or fixture file readable without hand-editing, and every table can be downloaded as CSV individually.
How to Use JSON to Table
- Paste a JSON array of objects (like an API response) or a single JSON object into the input box — or drag a .json file straight onto it.
- The tool automatically works out the shape: flat data renders as one table, and any one-to-many nested data (an array inside your JSON) automatically becomes its own linked child table — no mode to pick.
- Each child table shows a _parentId column pointing back to the _id of the row that contained it, so you can see exactly how the tables relate.
- Click "Download CSV" on any table to export just that table.
Examples
Flat array of objects
Input: [{"id":1,"name":"Ada"},{"id":2,"name":"Grace"}]
Output: One table, 2 rows, columns: _id, id, name
Single flat object
Input: {"name":"Ada","born":1815}
Output: One table, 1 row
Nested 1:1 object
Input: [{"id":1,"address":{"city":"London","zip":"E1"}}]
Output: Still one table — columns: id, address.city, address.zip
Nested 1:N array
Input: {"id":1,"name":"Ada","roles":[{"role":"admin"},{"role":"editor"}]}
Output: Two linked tables: "root" (id, name) and "roles" (_parentId, _id, role)
Common Mistakes
- Expecting a single JSON object to produce a multi-row table — a lone object always produces exactly one row (in the "root" table); paste an array if you want multiple rows.
- Forgetting that _id and _parentId are synthetic (generated by this tool to show the relationship) — they're not present in your original JSON.
- Assuming a short tag/permission list needs its own table by hand — the tool already splits any nested array (including plain string arrays) into its own linked table automatically.
Why Use This Tool
- Fully automatic — no mode to pick. Flat JSON gives you one table; nested JSON gives you correctly linked tables, based purely on the shape of your data.
- Normalizes one-to-many nested data (orders with line items, users with roles) into separate linked tables instead of duplicating parent data on every nested row or producing unreadable index-notation columns.
- Drag a .json file straight onto the input — no need to open it and copy the contents first.
- Handles inconsistent objects (different keys per item) gracefully instead of erroring out.
- Per-table CSV export.
- Runs entirely in your browser — no data leaves your device.