JSON to HTML Table Converter
This JSON to HTML converter turns an array of objects into a genuine HTML table rather than a pile of divs: the object keys become th cells inside a thead, and every object becomes a row of td cells inside a tbody. That structure is what screen readers, email clients and sorting scripts depend on. Every value is escaped, so data containing markup is displayed as text instead of changing the page it lands in. Nested objects and arrays are expanded into dot and index columns so nothing is dropped, and you can output a bare table to paste into an existing page or a complete document you can save and open.
How it works
Turns an array of objects into a real HTML table: the keys become th cells inside a thead and each object becomes a row of td cells inside a tbody. All values are escaped, so data containing markup is shown as text.
Nested objects and arrays are expanded into dot and index columns so nothing is lost. Choose a bare table to paste into a page, or a complete HTML document you can save and open.
The conversion runs entirely in your browser — nothing you paste or upload is sent to a server.
Why a real table
It is easy to produce something that looks like a table and is not one. Using <thead>,
<tbody> and <th> properly is what makes a screen reader announce the column
name when reading a cell, and what lets a sorting script tell headings from data.
Nested data
A table is flat and JSON is not. Nested objects become address.city columns and arrays become
tags[0], tags[1], so every value keeps a column of its own. Turn expansion off to put
each nested value in a single cell as compact JSON instead.
Escaping is not optional
JSON frequently holds user input, and user input holds markup. Every value is escaped before it reaches the
output, so a field containing <script> is displayed rather than executed by whatever page you
paste the table into.
Frequently asked questions
How do I convert JSON to an HTML table?
Paste an array of objects into the left panel. The table markup appears on the right, ready to copy or download.
Does it produce a proper table?
Yes. Keys become th cells inside thead and each object becomes td cells inside tbody, which is what accessibility tools and sorting scripts expect.
What happens to nested objects?
They are expanded into dot-separated columns, and arrays into indexed columns, so every value gets a column rather than being flattened away.
Is the data escaped?
Yes. A value containing HTML is shown as text rather than being rendered, which matters when the data came from user input.
Can I get a complete page?
Yes. Tick the complete document option for a full HTML file with a doctype and minimal styling you can open directly.
Is my data uploaded?
No. The conversion happens entirely in your browser.
Related tools
CSV to HTML Table Converter
This CSV to HTML converter builds a proper, accessible table with every cell escaped.
JSON to CSV Converter
This JSON to CSV converter turns an array of objects into spreadsheet-ready rows and columns.
HTML Table to JSON Converter
This HTML to JSON converter turns a table on a page into an array of typed objects.