Document · Arrays as grids

JSON Table Viewer

Turn nested JSON into a real table

Flatten arrays of objects into columns, keep every nested path, and export the result as CSV.

Auto-flattenSortableDotted pathsCSV export
Depth
Unlimited
Max records
50k
Uploaded
0 B

JSON Table Viewer

Runs in your browser · nothing uploaded
Flattened JSON
Nothing loaded

01 — How to use JSON Table Viewer

1 Paste or open JSON Paste the document into the box, or open a .json file. Load sample shows the shape the tool expects if you want to see it working first.
2 Build the table Arrays of objects become rows. Nested objects become columns named by their dotted path, so user.name and user.city each get their own column.
3 Sort by any column Click a header to sort ascending, again for descending, again to clear. Numeric columns sort numerically rather than alphabetically.
4 Export as CSV The export follows the current sort order and contains every row, not just the page on screen.

02 — Getting good results

The wrapper toggle is on for a reason An API response is rarely a bare array. The records normally sit under a key such as data, items or results, alongside paging counts and status fields. Tabulating the outer object produces a single row of metadata, which is never what anyone wants, so the tool looks one level in and uses the array it finds. Turn the toggle off when you genuinely want the wrapper itself in the table.
Columns are the union of every record's keys Records in real data are rarely uniform — optional fields appear in some objects and not others. Every key seen anywhere becomes a column, and records lacking it get an empty cell. Column order follows first appearance rather than alphabetical order, so a familiar document keeps its familiar shape.
Blank and null are not the same thing A field explicitly set to null shows as the text null, while a field that was absent from that record shows as an empty cell. The distinction frequently matters when diagnosing data problems, so it is preserved rather than flattened. Empty cells also sort to the end of a column in both directions, since absence is not a value.
Arrays of scalars are joined, arrays of objects are indexed A list of tags becomes one comma-separated cell, which is readable and usually what you want. A list of objects cannot be squeezed into a cell that way, so each element gets indexed columns — items[0].id, items[1].id and so on. That keeps the data visible rather than replacing it with "[object Object]".

03 — Questions

No. Parsing and flattening happen in this tab. API responses frequently contain tokens, personal data and internal identifiers, so keeping them local is the point.

04 — More about JSON Table Viewer

61 more tools
where this came from.

Same shell, same shortcuts, same promise: nothing leaves your browser.

Browse all 62