Render JSON as an interactive table
Read API responses faster. Auto-flattens nested objects to dot-path columns. Copy as TSV to paste straight into Excel or Sheets.
| id | name | active | score |
|---|---|---|---|
| 1 | Alice | true | 92.5 |
| 2 | Bob | false | 78 |
| 3 | Carol | true | 85.2 |
How to view JSON as a table
Sometimes a 2D grid reads better than 200 lines of nested JSON. Drop an array of objects and the tool auto-derives columns, flattens nested keys, and renders a scrollable table.
- 01
Paste a JSON array
Top-level array of objects works best. Single objects are wrapped in a 1-row table.
Inputs parse through the native
JSON.parsereviver chain — strict RFC 8259. Any syntax error returns line and column for the exact offending byte.arrayobjectsRFC 8259JSON.parsestrictinput · raw.json · RFC 8259[{"id":1,"name":"Ada"}]loaded · parsed RFC 8259RFC 8259 · ready - 02
Headers from union of keys
Headers come from the union across all rows — missing fields render as
—.Indent options run through
JSON.stringify(value, null, n); the second argument lets you sort, transform, or omit keys via a replacer if you ever wire one in.unionstableindentJSON.stringifylivecolumns · optionsauto · liveid | name | age 1 | Ada | — 2 | — | 36
options applied · livelive - 03
Nested fields flatten
Objects are flattened with dot-notation (
address.city). Arrays inside cells JSON-encode.Large documents stream through a
useMemowith stable hashing so options re-apply instantly — no full re-parse if only formatting changes.dot.notationmemoisedinstantdiff-friendlydeterministicflatten · rendereddepth · readyaddress.city, profile.bio
rendered · livediff-friendly - 04
Copy as TSV → spreadsheet
One click copies a tab-separated stream. Paste into Excel, Sheets, or Numbers and rows / columns are preserved.
Download is a
Blobwithapplication/json; copy uses the Async Clipboard API. Both round-trip identically to what the page rendered.TSVspreadsheetclipboardblob.jsonexport · copiedTSV · done✓ Copied to clipboard ✓ Ready for Excel
shipped · ready to shipsuccess
Production-grade JSON, the right way
Stick to RFC 8259
Strict JSON has no NaN, Infinity, comments, or trailing commas. If you need those, look at JSON5 or JSON Repair.
Preserve key order for diffs
JavaScript preserves insertion order, but two parsers shouldn’t be assumed equal. Use Sort JSON Keys before diffing or hashing.
Big integers lose precision
JS numbers lose precision past 2^53−1. Transport large IDs as strings or use BigInt.
Escape inside HTML
When inlining JSON inside <script>, escape </ to <\/ so HTML parsing doesn’t close your tag early.
Validate at boundaries
Trust the wire as little as possible. Run incoming JSON through a schema (Zod / Pydantic) before it touches business logic.
Minify in production
Minify removes whitespace; gzip removes redundancy. Together they typically shrink JSON payloads 70–85% over the wire.
When to view JSON as a table
Whenever a flat grid beats a nested tree.
API exploration
Scan a response shape across many records in one view. Output round-trips losslessly through JSON.parse + JSON.stringify, so the file you save is byte-identical to what you see. Streaming parsers, jq pipelines, and Postgres jsonb columns all accept the result without complaint.
10x faster scanLog triage
Spot anomalies in batches of structured logs. Pairs perfectly with sort-keys + diff for review-friendly fixtures in CI. Whitespace-only churn disappears and reviewers see real changes, which keeps PR comments focused on logic rather than indentation.
cleaner PR diffsStakeholder demos
Show PMs a table, not raw JSON. Handles emoji and non-ASCII via UTF-8 throughout — your data survives copy-paste between editors, terminals, and IDEs. Combining marks and ZWJ sequences come out the other side intact.
RFC 8259 validQA fixture review
Eyeball a fixture set before committing. Re-parses on every keystroke so syntax errors are caught at the exact character. Strict RFC 8259 — no trailing commas, no comments, no unquoted keys — keeps downstream parsers happy.
round-trip safeQuick math
Copy as TSV → spreadsheet to sum / pivot. Streams large documents without a server round-trip — privacy stays in the tab. Heavy parsing runs through useMemo so even 5 MB payloads keep the editor responsive.
schema-friendlyMigration audits
Compare batches of records side-by-side. Output is byte-stable: same input plus same options always produces identical bytes, ideal for content-addressed caches and snapshot tests. Downloads ship with the application/json MIME so editors apply syntax highlighting.
production-readyFrequently asked questions
— (em-dash) so they're visually distinct from empty strings.Something missing?
Tell us what you need. We ship the top requests every two weeks.