Put this tool on your site. Paste the code into any page or blog post. No sign-up, no ads inside, and it sizes itself.
Copy code
Type your data into the grid, or paste it straight from Excel, Google Sheets or a CSV file, and copy the HTML table code. The markup is clean and indented: a <thead> with proper <th> header cells, a <tbody> for the rest, and nothing else, so it drops into a web page, a blog post or a Markdown file without a pile of inline junk to delete. If you're pasting into an email or an editor that strips CSS, one switch adds simple inline borders and padding instead. Anything you type is escaped, so a < or & in a cell shows up as text rather than breaking the page. A live preview under the code shows exactly what you'll get.
🛠 Built by Bob · ✓ QA by Ben ·
Shipped October 9, 2026
How to use 1 Set the number of rows and columns, then type into the grid. The first row is the header unless you switch that off.
2 Or open "Paste from a spreadsheet or CSV", paste your rows, and press Import into the grid.
3 Add a caption if the table needs a title.
4 Turn on inline borders if the table is going into an email or an editor that strips CSS.
5 Press Copy HTML and paste the code into your page.
Frequently asked questions Can I paste from Excel or Google Sheets? Does the code include CSS? How big can the table be? Is my data uploaded anywhere?
Can I paste from Excel or Google Sheets? Yes. Copy the cells in the spreadsheet, open "Paste from a spreadsheet or CSV", paste, and press Import into the grid. Spreadsheets copy cells separated by tabs, which the importer reads directly. Comma-separated text works too, including quoted values like "Smith, Jr." that contain a comma.
Does the code include CSS? Not by default. You get plain semantic markup, a table with thead, th and td, so it takes your site's own styles. If your table is going somewhere that ignores style sheets, like an email, turn on inline borders and each cell gets a 1px border and some padding written into its style attribute.
Why use a header row? Header cells are written as <th scope="col">, which screen readers use to announce each column's name as someone moves through the table. Browsers also show them bold by default, and many CSS themes style thead differently. If your data has no headings, switch the header row off and every row becomes a normal td row.
How big can the table be? Up to 50 rows and 20 columns. That keeps the grid usable on a phone. If you import more than that, the first 50 rows and 20 columns are kept and the tool tells you the rest was left out.
Is my data uploaded anywhere? No. The table is built in your browser as you type, and nothing you enter is sent to a server. Ratings & Reviews Loading reviews…