JSON to Table Converter Online — Free Visual JSON Table

Paste a JSON array of objects and render it as a sortable, filterable HTML table. Copy as TSV to paste into Excel — 100% in your browser.

search
Paste JSON above or click Load Sample to render a table.

What is a JSON to Table converter?

A JSON to table converter takes a JSON array of objects and renders it as an HTML table — one row per object, one column per key. It turns API responses, log dumps, and database exports into a scannable grid you can sort, filter, and paste into Excel.

JSON is the lingua franca of modern APIs, but it's not built for human eyes. Once you have more than three or four records, raw JSON becomes a wall of text. A table inverts that — fields line up vertically, values align horizontally, and outliers jump out at a glance.

How to convert JSON to a table — 4 steps

  1. Paste JSON. Drop your array of objects into the input — copied from Postman, an API response, a database export, or click Load Sample.
  2. Read the table. Columns are auto-detected from object keys; nested objects collapse to a badge so the layout stays clean.
  3. Sort and filter. Click any header to sort by that column. The filter box does a substring match across every cell.
  4. Copy or maximise. Use Copy as TSV to paste into Excel, or click Maximize to view the table full-screen.

Sample input and output

[
  { "id": 1, "name": "Alice", "role": "Engineer", "salary": 120000 },
  { "id": 2, "name": "Bob",   "role": "Designer", "salary": 95000 }
]

renders to a 2-row table with columns id, name, role, salary. Sortable by clicking any header, filterable by typing in the search box.

Sortable Columns

Click any column header to toggle ascending or descending. Numeric values sort naturally — 9 before 10 — using locale-aware comparison.

Live Filter

Type in the filter box and the table narrows in real time. The match runs across every cell, including nested values.

Copy / Export

Copy as TSV pastes directly into Excel or Google Sheets. Copy as JSON exports the current sorted/filtered subset.

Common use cases

  • check_circleInspecting REST API responses while debugging integrations in Postman or curl
  • check_circleExploring NoSQL exports from MongoDB, DynamoDB, or Firebase as a quick grid
  • check_circleReviewing Algolia, Elasticsearch, or Meilisearch hit arrays before indexing
  • check_circlePasting GitHub API issue lists, GraphQL results, or Stripe customer arrays
  • check_circleAuditing log files exported as JSON Lines (after wrapping in []) for anomalies
  • check_circleSharing tabular data with non-engineers who prefer Excel over JSON
  • check_circleComparing two API versions side-by-side — paste, sort, copy, paste again
  • check_circleQuickly counting rows by filter, e.g. how many users have role=admin

How the conversion works

The tool runs JSON.parse on your input. If the result is an array, it iterates the elements collecting the union of keys across all objects — preserving first-seen order — and uses that as the column header. Each object becomes a row. Nested objects and arrays are rendered as a compact [Object] or [Array(n)] badge so the table stays scannable. Sorting uses String#localeCompare with { numeric: true } for natural number ordering, and filtering does a case-insensitive substring match across every value (stringified, so nested structures still match by content).

Need to do more with JSON?

Convert, format, and explore JSON with the rest of the OpenFormatter toolkit.

Frequently Asked Questions

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.

JSON to Table Converter Online — Free Visual Table