Home Tools Blog About

Convert Excel to HTML Table

In short

Convert .xlsx, .xls, or .csv to clean HTML table - headers, borders, striped rows, Bootstrap. Free, offline (after first load), client-side, instant, secure.

  • Runs in your browser
  • Nothing uploaded
  • Free, no sign-up

Drop in a .xlsx, .xls, or .csv file and get clean HTML markup with <thead> / <tbody> structure, optional Bootstrap classes, responsive wrapper, and inline CSS for borders and striped rows.

Click or drag an Excel / CSV file here

.xlsx, .xls, .csv - max 5 MB

🛡
100% PrivateNo server uploads, ever
InstantRuns in your browser
💧
No WatermarksClean output, always
🆓
Free ForeverNo accounts, no limits

How to Use Convert Excel to HTML Table

  1. Upload your file. Click the drop zone or drag a .xlsx, .xls, or .csv file. Files are parsed locally via SheetJS - nothing is uploaded. 5 MB is the cap.
  2. Pick a sheet. If the workbook has one sheet, it's selected automatically. With multiple sheets a dropdown appears so you can choose.
  3. Tune the conversion options. "First row as header" wraps row 0 in <thead> with <th> cells. "Skip empty rows" drops fully-blank rows. "Add table borders" + "Striped rows" emit inline CSS (unless Bootstrap is on). "Bootstrap classes" replaces the inline CSS with class="table table-bordered table-striped". "Responsive wrapper" wraps the table in <div>. "Row limit" caps the conversion at N rows for preview.
  4. Click "Convert to HTML table" (or press Ctrl/Cmd + Enter). The output appears in the Code tab; click Preview to see it rendered.
  5. Copy or download. Copy puts just the table snippet on your clipboard. Download writes a complete standalone table.html document - useful for sharing or testing.
  6. Customise. Set a custom Table ID for CSS targeting, toggle Bootstrap when integrating with that framework, or load the built-in example with "Load example" to see what the output looks like without uploading anything.

Frequently Asked Questions

Can I convert CSV files to HTML tables?

Yes. SheetJS parses CSV just as it does Excel – the same options (first row as header, skip empty rows, borders, striped, Bootstrap, responsive wrapper, row limit) all apply. The file extension drives the parser choice; everything downstream is identical.

Is my data uploaded to a server?

No. All parsing and HTML generation runs in your browser. The only network call is the one-time fetch of the SheetJS library from a CDN – once cached, the tool runs fully offline. Your spreadsheet bytes never leave the device.

What Excel versions are supported?

SheetJS handles Excel 2007+ (.xlsx, the modern Office Open XML format) and legacy .xls (the BIFF8 binary format from 1997-2003), plus .csv. Pivot tables, charts, conditional formatting, and macros are stripped – only cell values survive. Formulas are evaluated to their cached numeric / text result; the formula syntax itself isn’t included.

Can I style the HTML table?

Two paths. With “Bootstrap classes” off (default) the tool emits an inline <style> block with bordered / striped CSS scoped to the table or to your custom Table ID – paste-and-done. With Bootstrap on, the tool emits class="table table-bordered table-striped" and assumes you’ve already linked Bootstrap CSS in your page (the downloaded standalone HTML file includes the Bootstrap CDN link automatically).

How large can my Excel file be?

Hard cap 5 MB at upload time. Practical limit is whatever your browser can hold in memory – SheetJS reads the whole workbook into a JS object, so a 5 MB .xlsx with 100 K cells can use 50+ MB of RAM during parsing. Use the “Row limit” option to preview just the first N rows of huge sheets.

What about cell formatting – colours, fonts, alignment?

Cell values are preserved exactly. Cell formatting (colours, fonts, alignment, conditional formatting, merged cells) is dropped – the output is plain semantic HTML. If you need formatting, post-process with CSS, or use a CSS framework like Bootstrap. The tool prefers the formatted text (cell.w) over the raw value (cell.v) when present, so dates render as “2025-06-15” rather than the Excel serial number “45823”.

Are special characters in cells escaped?

Yes. The five HTML-sensitive characters (&, <, >, ", ') are HTML-entity-escaped in every cell value before insertion into the output. So a cell containing <script>alert(1)</script> emits &lt;script&gt;alert(1)&lt;/script&gt; – rendered as literal text, not executed.

Is this tool free?

Yes – free, unlimited, no signup, no watermark. The generated HTML is yours to use anywhere. Attribution to is appreciated but not required.

Keep going

Related Tools

All Developer tools →

BBCode to HTML Converter

Generate standard semantic HTML arrays translating classic forum BBCode syntax cleanly explicitly mappings independently…

ASCII to HTML Entities Converter

ASCII to HTML as entities - safe XSS escape, numeric decimal, or numeric hex.…

Convert HTML Entities to ASCII

Decode HTML entities to ASCII safely - named, decimal, hex. ASCII-only enforcement. Batch breakdown.…

Convert HTML Entities to UTF-8

Decode HTML entities to UTF-8 with per-character byte breakdown. Named, decimal, hex. Free, offline,…

Convert Unicode to HTML

Convert Unicode to HTML entities (hex/decimal/named/smart) with ASCII-safe option. Reverse direction parses all formats.…

Convert UTF-8 to HTML Entities

Convert UTF-8 text into HTML entities so special characters display correctly in any page.…

Convert CSV to Markdown Table

Convert CSV to GitHub-flavored Markdown table with per-column alignment, HTML preview, delimiter auto-detect. Free,…

Convert CSV to PDF Table

Convert CSV to formatted PDF tables in your browser. Custom orientation, font size, alternate…

Draw ASCII Table

Generate ASCII tables in pipe, Markdown, box-drawing, or CSV format. DEC/HEX/OCT/BIN columns, control names,…

Escape HTML Entities

Escape &, <, >, ", ' to safe HTML entities - minimal, numeric (non-ASCII),…

Markdown to HTML Converter

Convert Markdown into clean HTML, keeping headings, lists, links, and inline formatting.

Android AssetLinks JSON Generator - App Links

Android AssetLinks JSON Generator files for Android App Links. Configure package names and SHA-256…

Share

Embed this tool

Add this free tool to your website. Copy and paste the code: