User Rating 0.0 β˜…β˜…β˜…β˜…β˜…
Total Usage 0 times

      
Is this tool helpful?

Your feedback helps us improve.

β˜… β˜… β˜… β˜… β˜…

About

Spreadsheet data pasted into a CMS or codebase without conversion produces broken layouts, invisible tab characters, and accessibility failures. This tool parses the tab-separated value (TSV) format that Excel and Calc place on the clipboard, then outputs standards-compliant <table> markup with proper <thead> and <tbody> semantics. All cell content is HTML-entity-escaped to prevent cross-site scripting. Output optionally includes Bootstrap table classes for rapid integration into existing frameworks.

The converter handles quoted fields per RFC 4180 rules: a cell containing a literal tab, newline, or double-quote is preserved correctly when wrapped in double-quotes by the spreadsheet application. Limitation: merged cells in the source spreadsheet are flattened into the top-left cell value only. Column count is normalised to the longest row; short rows receive empty <td> elements to keep the grid rectangular.

excel to html table converter spreadsheet to html tsv to html table html table generator csv to table

Formulas

The conversion pipeline follows a deterministic three-stage process:

Stage 1: splitRows(input) β†’ split on CRLF | LF | CR respecting quoted fields
Stage 2: splitCols(row) β†’ tokenise on U+0009 (TAB), handling double-quote escaping per RFC 4180
Stage 3: render(grid) β†’ map each cell through escapeHTML then wrap in <td> or <th>

Where grid is a 2D array of dimensions R Γ— C, with R = number of non-empty rows and C = max(colsi) across all rows. Padding rule: if len(rowi) < C, append (C βˆ’ len(rowi)) empty strings.

Reference Data

FeatureDescriptionDefault
First Row as HeaderWraps first row cells in <th> inside <thead>Enabled
Bootstrap ClassesAdds table table-striped table-bordered to <table>Disabled
Compact OutputRemoves indentation and newlines from HTML outputDisabled
Tab CharacterU+0009 Horizontal Tab - Excel clipboard delimiter -
Newline HandlingSupports CR, LF, and CRLF line endingsAuto-detect
Quoted Field RuleFields containing tabs or newlines are wrapped in double-quotes by ExcelRFC 4180
HTML Escaping& β†’ &, < β†’ <, > β†’ >, " β†’ "Always
Max Columns DetectedLongest row determines column count; shorter rows are padded -
Empty Cell OutputGenerates <td></td> for blank cells -
Clipboard APIUses navigator.clipboard.readText() with fallback to manual paste -
Copy OutputCopies generated HTML to clipboard via Clipboard API or execCommand fallback -
DownloadExports output as .html file via Blob URL -
LocalStoragePersists input text and options across sessionsEnabled
Semantic MarkupUses <thead>, <tbody>, <th scope="col">When header enabled
AccessibilityOutput table includes role and aria attributes guidance -

Frequently Asked Questions

Excel and Calc wrap such cells in double-quotes when copying to the clipboard, following RFC 4180 conventions. The parser detects opening double-quotes and treats all content - including tabs and line breaks - as part of a single cell until a closing double-quote is found. A literal double-quote inside a quoted field is escaped as two consecutive double-quotes ("").
Trailing empty cells in a spreadsheet row may not produce trailing tab characters on the clipboard. The converter normalises all rows to the maximum column count by appending empty elements, ensuring a rectangular HTML table that renders correctly in all browsers.
When the "First Row as Header" option is enabled, header cells use inside , which satisfies WCAG 1.3.1 (Info and Relationships). For full compliance, you should also add a element describing the table purpose - the converter does not generate one automatically because it cannot infer the semantic meaning of your data.
The tool is optimised for TSV (tab-separated) input, which is the native clipboard format of Excel and Calc. Comma-separated data will be treated as single-column rows. For CSV conversion, replace commas with tabs in a text editor first, or re-copy directly from your spreadsheet application.
No. The clipboard plain-text representation strips all formatting metadata. Only raw cell values are transferred. If you need styled output, export the spreadsheet as HTML directly from Excel (File β†’ Save As β†’ Web Page), though this produces bloated markup compared to the clean semantic output this tool generates.
Enabling Bootstrap adds class="table table-striped table-bordered" to the element. No additional wrapper divs or responsive containers are added - you should wrap the output in a
yourself if horizontal scrolling is needed on narrow viewports. The option targets Bootstrap 4 and 5 class naming conventions.