Paste a JSON array of objects and click Generate. The first object's keys become the table headers, and each subsequent object becomes a row. The output is a plain <table> element you can paste into any HTML page.
Free, fast, runs in your browser. No login needed.
.html file.The generator reads the keys of the first object in your array as the column headers and writes them into a <thead> row. Each subsequent object becomes a <tr> in the <tbody>, with each key's value in the corresponding <td>.
Column list is fixed to the first row. If later objects have additional keys that the first object lacks, those extra fields are silently omitted. If later objects are missing keys from the first object, those cells render as undefined.
Nested values. Object and array-valued cells are serialized to a JSON string and placed as text content in the cell — they are not expanded into nested tables.
No styling. The output is a plain unstyled <table>. Add CSS to style it — a simple starting point: table { border-collapse: collapse; } td, th { border: 1px solid #ccc; padding: 8px; }
Important: Cell values are not HTML-escaped. If your data contains <, >, or & characters, the rendered HTML may be incorrect or present an XSS risk. Only use this tool with trusted data, and escape values manually if needed before inserting into a web page.
An array of objects — e.g., [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]. Each object becomes a table row. If your input is an object containing an array (e.g., {"users": [...]}), that array is detected automatically.
The output is a plain unstyled