JSON to HTML Table Converter

Render a JSON array as an HTML table to inspect API data, or copy the markup into a page or report.

Loading tool…

About the JSON to HTML Table

API responses are easier to scan as a table. Paste an array of objects and each object becomes a row and each key a column. The column list is the union of all keys, so sparse data still lines up, and the preview shows which records are missing fields.

With Flatten nested keys on, nested objects expand into dotted columns such as address.city; with it off, nested values are shown as compact JSON in one cell. If the array is wrapped in an object like {"results": [...]} it is found automatically.

The generated code is minimal and semantic (thead, tbody, th, td) with no styling, and all text is HTML-escaped so string values can never become markup. The preview uses the same escaped HTML. Everything is processed in your browser.

Example: [{"id": 1, "user": {"name": "Ada"}}] gives a table with the columns id and user.name and one row. The status line shows how many rows were produced, a quick check that the whole array was picked up.

How to use it

  1. Paste a JSON array or open a .json file.
  2. Choose whether to flatten nested objects.
  3. Check the preview.
  4. Copy the HTML code.

Frequently asked questions

Can it show a single JSON object?
Yes, as a one-row table. For a key/value view of one object, turn off flattening or use the JSON viewer.
Is it safe to paste untrusted JSON?
Yes. Every value is escaped before it is rendered, so HTML or script in the data shows as text.
How are arrays of primitives shown?
Flattened into indexed columns (tags.0, tags.1) or, with flattening off, as JSON text in one cell.

Related tools