Convert a JSON array of objects into a semantic HTML table — thead/tbody, scoped headers, optional caption and CSS class, with every value HTML-escaped for safety.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Accessible tables, safe by default
Paste a JSON array of objects and get a semantic HTML table: <thead>/<tbody> structure, <th scope="col"> headers, optional caption and CSS class. Every value is HTML-escaped, so markup inside the data displays as text instead of rendering — the correct default when the data’s origin is unknown, and the reason this output can be pasted into a CMS without a second thought.
Worked example
<table class="pricing">
<thead>
<tr><th scope="col">plan</th><th scope="col">price</th></tr>
</thead>
<tbody>
<tr><td>Free</td><td>0</td></tr>
<tr><td>Pro</td><td>12</td></tr>
</tbody>
</table>When to use it
- Publishing structured data (pricing, specs, results) on a WordPress page or any CMS.
- Email templates and documentation where Markdown is not rendered.
- Quick data pages where a full table component is overkill.
Limitations to know
- No inline styles by design — styling belongs to your site’s CSS via the class option.
- Nested objects inline as JSON text in their cell; flatten first with the JSON Flattener for real columns.
- Escaping is not optional — if you genuinely need HTML to render inside cells, that is a template job, not a data-conversion job.
Related choice
- Same data for READMEs and wikis? The Markdown table converter is the sibling tool.
How to use the JSON to HTML Table Converter
- Paste a JSON array of objects.
- Optionally set a CSS class and a caption for the table.
- Click "Build HTML table".
- Copy the semantic markup into your page or CMS.
Frequently asked questions
What markup does the generator produce?
A semantic, accessible table: <thead> and <tbody> sections, <th scope="col"> headers, and an optional <caption> — the structure screen readers and search engines expect, not a div soup.
Is the output safe if my data contains HTML?
Yes — every cell value is HTML-escaped, so markup in the data displays as text instead of rendering. That is the correct default for data of unknown origin; nothing in the output can execute.
How do I style the table?
Give it a class via the option and target it in your stylesheet. The generator deliberately adds no inline styles — presentation belongs to your site's CSS, and WordPress themes usually style plain tables already.
HTML table or Markdown table?
HTML for web pages and CMS content (full control, accessibility attributes); Markdown for READMEs, wikis and pull requests. Same data model — this cluster has a converter for each.