Convert Excel to HTML
Upload your spreadsheet and download the table as HTML: just the <table> to paste wherever you need it, or a complete page.
Clean HTML, not what Excel exports
Save a sheet as a web page from Excel and the file comes out full of <o:p>
tags, mso- attributes and stylesheets with hundreds of generated rules. It is
close to impossible to paste into an existing site without breaking something.
What is generated here is a spare table: <table>, a <thead> with <th scope="col"> when your sheet has a header row, <tbody>, and one <td> per
cell. Nothing else. It is valid, accessible HTML you can edit by hand.
How cells are escaped
Every value goes through mandatory escaping before it enters the HTML: &,
<, > and " are replaced with their entities (&, <, > and
").
This is not cosmetic. Without it, a cell containing <script>...</script> would
become executable code on the page of whoever pastes the table in. With
escaping, you see exactly the text that was in the cell.
Fragment or full document
- Off by default, full document delivers only the
<table>, which is what you want for pasting into a CMS, an email, or a template that already has its own<head>. - On, it wraps the table in a document with
<!DOCTYPE html>, the interface language in thelangattribute,<meta charset="utf-8">and the sheet name as the<title>. It opens by double-click in any browser.
Include styles adds a minimal stylesheet — collapsed borders, a grey header and alternating rows — and only takes effect when you generate the full document: a fragment has nowhere to put it.
CSS class adds the class attribute you specify to the <table>, so the
table picks up your own site's styles instead of bringing its own.
Frequently asked questions
Are the sheet's colours and formatting preserved?
No. Content and structure are exported, not visual formatting. Appearance is decided by the destination CSS, which is what lets the table fit in with the rest of your site.
How are numbers and dates displayed?
Using the interface language's formatting, because this HTML is meant to be read by a person. If you need neutral formatting for a program, use Excel to CSV or Excel to JSON.
What about merged cells?
No colspan or rowspan is generated: the table comes out rectangular, with
one cell per column in every row. That is what makes it readable and
processable without surprises.
Does it convert every sheet in the workbook?
Only the first one. Convert the others separately.
Can I paste the result into WordPress or an email?
Yes. Generate the fragment — full document off — and paste it into the HTML editor. For email it is worth adding your own inline styles, because many clients ignore external stylesheets.