HTML Table Generator

Type your table, or paste it in from Excel, Google Sheets, a CSV file or a Markdown table. The HTML is written underneath as you go, ready for your page, email or CMS.

Your table

Click a cell and paste. A table copied from Excel, Google Sheets or a web page fills in from that cell.

Styling

Plain HTML takes its look from your own stylesheet. Inline styles are for places where you cannot add CSS, such as an email or some CMS fields.

Table

Frequently asked questions

Does it create a header row?

Yes, if you ask for one. The first row is then marked up with header cells rather than ordinary ones, which is what lets screen readers announce which column a value belongs to.

Can I paste my data straight into the table?

Yes. Copy the cells in Excel or Google Sheets, click the first cell here and paste, and the rows and columns fill in as they were. A CSV file, a Markdown table or a table copied from a web page works the same way. You can also just type, and the HTML updates as you go.

Is the generated table responsive?

It can be. A wide table on a narrow screen has to either scroll or squeeze, and with inline styles on, the table can be wrapped so that it scrolls sideways on its own instead of pushing the whole page wider. With plain HTML, that belongs in your stylesheet.

How do I merge cells?

Not here. Merging needs colspan or rowspan attributes, which you add to the generated markup by hand afterwards.

Should I use a table for page layout?

No. Tables are for tabular data. Layout belongs in CSS, and a table used for layout reads badly on phones and gives screen readers a structure that means nothing.

Does the table come with any styling?

Only if you ask for it. Plain HTML carries no styles and takes its look from your own stylesheet, so add your class names once you have pasted it in. Inline styles give every cell padding and, if you want them, borders, which is useful in an email or a CMS where you cannot add CSS.