Format conversion

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.

Free, no usage limits Nothing written to disk .xlsx,.xls,.csv

Accepted formats: .xlsx,.xls,.csv

So the table inherits your own site's styles.

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 (&amp;, &lt;, &gt; and &quot;).

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 the lang attribute, <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.