Why convert JSON to a table?
JSON is great for transport and storage but hard to scan. A table renders one row per record and one column per field, so you can sort, filter, compare, and spot anomalies (missing fields, off-by-one IDs, weird types) much faster than reading raw JSON.
How are nested objects shown?
Nested objects and arrays are rendered as compact badges like [Object] or [Array(3)] so the table stays readable. The full structure is preserved when you copy the row as JSON or expand the source — only the visual rendering is collapsed.
Can I copy the table to Excel?
Yes. Click "Copy as TSV" — it copies tab-separated values that paste cleanly into Excel, Google Sheets, Numbers, or any spreadsheet, with one cell per field. Tabs and newlines inside values are escaped to spaces so the row count stays correct.
Does it preserve original column order?
Yes. Columns appear in the order keys are first encountered across the input array. If your records have inconsistent shapes, later-appearing keys are added to the right of the table, and any record missing a key shows an empty cell.
What if my JSON is a single object, not an array?
A single object is rendered as a one-row table. To explore deeply nested structures, use the JSON Viewer or JSON Tree tools instead — those are optimised for tree-shaped data, while this tool is built for tabular records.
Can I sort numerically?
Yes. The sort uses localeCompare with the numeric option, so "9" sorts before "10" as you would expect. Mixed numeric/text columns are sorted using natural ordering.
Is there a row limit?
There is no hard limit, but rendering tens of thousands of rows can slow the browser since the table is rendered in the DOM. For very large datasets, filter or paginate the JSON before pasting, or use a dedicated viewer.
Is my JSON sent to your servers?
No. Parsing, sorting, filtering, and copying all run in JavaScript inside your browser. Open DevTools Network tab and confirm — no requests are made when you load a sample or paste JSON.