Excel to HTML Table Converter
Drop a spreadsheet and get semantic HTML table markup you can paste straight into a page, an email template or a CMS.
Processed locally in your browser/ Your data stays in your browser.
What is Excel to HTML Table Converter?
A spreadsheet is easy to edit but awkward to publish. This converter reads .xlsx, .xls, .xlsm, .ods and .csv files locally and writes the chosen sheet as a semantic <table>: an optional <thead> with <th scope="col"> cells, an optional <caption> taken from the sheet name, and a <tbody> for the data.
Every cell value is HTML-escaped, so text such as <script> or "><img onerror=1> is shown as text and can never run. You can also add a CSS class, pick pretty or minified output, choose how empty cells appear and keep line breaks as <br>.
How does it work?
- Drop an Excel, ODS or CSV file on the drop zone (up to 50 MB); nothing is uploaded.
- Choose the sheet in the selector above the result if the workbook has several.
- Tick or clear the header row and caption, add a class such as "table table-striped", and pick pretty or minified output.
- Check the live preview, then copy the HTML or download it as a .html file.
Common use cases
- Publishing a price list or schedule kept in Excel on a static website or a documentation page.
- Building an HTML email template from a table without retyping every cell.
- Giving a CMS or a wiki that only accepts HTML a table exported from a spreadsheet.
- Generating accessible table markup (header cells with scope) for a report or a student handout.
Examples
Drop a spreadsheet and get semantic HTML table markup you can paste straight into a page, an email template or a CMS.
Privacy
Excel to HTML Table Converter runs entirely in your browser. The text or files you provide are processed on your device and are not uploaded, logged or stored on our servers.
Limitations
Only cell values are converted, as they are displayed in the workbook: styles, colours, merged-cell spans, images and formulas are not carried over. Very long sheets are cut at 20,000 rows.
Frequently asked questions
Is the HTML safe to paste into my site?
Cell text is escaped for & < > " and ', so a cell containing a script tag is displayed as text. The class option also keeps only letters, digits, spaces, hyphens and underscores.
Are my Excel files uploaded to a server?
No. The workbook is opened by a library running inside your browser tab, so a confidential price list or customer sheet never leaves your computer.
Can I get a <thead> and a <caption>?
Yes. Leave "First row is a header" ticked to get <thead> with <th scope="col">, and tick the caption option to use the sheet name as the table caption.
What happens with a huge sheet?
The HTML output stops at 20,000 rows and a warning tells you how many rows the sheet really has. The preview always shows only the first 500 rows to stay fast.
Related tools
Excel to Markdown Table Converter
Turn a spreadsheet sheet into a Markdown table ready for a README, a wiki page or a pull request.
Excel Tools
Excel to CSV Converter
Drop a spreadsheet, choose a sheet and get a clean CSV, with the delimiter and quoting you need.
Excel Tools
Excel to JSON Converter
Drop a workbook and get the chosen sheet as a JSON array of objects, with dates as ISO text.
Excel Tools
Excel Viewer
Look inside a spreadsheet without Excel: switch sheets, read the first rows and check the size of each sheet.
Excel Tools
HTML Formatter
Paste minified or messy HTML and get clean, consistently indented markup you can read and diff.
Developer Tools
CSV to JSON Converter
Turn CSV rows into clean JSON in one step, with typed values, custom delimiters and pretty or minified output.
JSON & Data
Markdown Table Generator
Paste spreadsheet-style rows and get a tidy, GitHub-ready Markdown table with padded columns and per-column alignment.
Markdown & Diagrams
CSV Viewer
Paste CSV text or open a .csv file and inspect it as a table, with row and column counts and the detected delimiter.
JSON & Data