Excel to HTML Table
Upload an Excel file and get an HTML table you can paste into any web page.
Was this tool helpful?
Thanks for the feedback!
Upload an Excel file and this converter turns its first sheet into HTML table markup that you can copy or download as an .html file. Use it to publish a price list, timetable or results sheet on a website without retyping it cell by cell.
How to convert a sheet
- Choose or drop an .xlsx, .xls, .xlsm, .ods or .csv file.
- Click Convert to HTML.
- Copy the markup with Copy result, or save it with Download result, which gives you an .html file you can open in any browser.
Only the first sheet is converted, and a note appears when the workbook contains more. The preview box shows the first 4,000 characters; copy and download both include the full table.
What the generated markup looks like
The output is a complete small web page, not just a table. It starts with an html and head section containing a UTF-8 charset tag and the title "SheetJS Table Export", then the table inside the body. Inside the table:
- Every row is a
<tr>and every cell a<td>, including the header row. There is no<thead>or<th>. - Each cell carries a
data-tattribute for its type (s for text, n for number), adata-vattribute with the raw value, and an id based on its cell reference, such as sjs-A1. - Cell text is what Excel displays, so a date formatted as 15-01-2026 appears exactly like that.
- Merged cells become
colspanandrowspan, so a heading merged across two columns stays merged.
A number cell therefore looks like this (the id attribute is left out here for brevity):
<td data-t="n" data-v="800000">800000</td>
Fonts, fill colours, borders and column widths from Excel are not carried over.
Cleaning it up for a website or CMS
- Copy only the part from
<table>to</table>; the surrounding html, head and body tags are not needed inside an existing page. - Change the first row's
<td>tags to<th>and wrap that row in<thead>. Screen readers use header cells to announce which column a value belongs to. - Remove the data and id attributes if your editor complains about them; they do not affect how the table looks.
- Add your own CSS for borders and padding, and let wide tables scroll sideways on phones with a container set to
overflow-x: auto.
In WordPress, the Custom HTML block accepts the table as it is.
A quicker path to header cells
If you would rather get <thead> and <th> automatically, export the sheet with the Excel to CSV Converter and paste the result into CSV to HTML Table, which uses the first row as headers and produces minimal markup with no extra attributes. The spreadsheet is processed in your browser and never leaves your device.