TSV to HTML
Nothing you choose here leaves your browser, and nothing is downloaded to make it work. A tab-separated file is text, so there is nothing to unzip and no library to fetch.
A table you can paste into a page, and a whole file you can open.
What comes out is a real <table> with a header row, figures lined up on the right, and a stylesheet that works in dark mode — wrapped in a complete document, because a file you download is a file you open. If you only want the table, it is the part between the <table> tags and it is shown on screen before you download anything.
Whether the first row is column names cannot be known
A tab-separated file has no way to say it. The first line of
Anne,12 might be a heading or the first record, and the file
is identical either way. Most converters simply assume it is a heading
— pandoc does, which we measured — and that quietly eats the
first row of every file that had none.
So this suggests, shows you why it suggested that, and lets you change it. The suggestion is made from the data: a first row that is all text above a row containing numbers is almost certainly names; a first row with numbers in it is almost certainly data, because column names are not numbers.
What comes across and what does not
Everything in the cells, including line breaks — which is the one place HTML can do what Markdown cannot. What does not come across is anything that was never in the cells: colours, column widths, merged cells, conditional formatting and charts. A table is the values and their shape.
Rows of different lengths are padded to the widest rather than trimmed to the shortest — a short row is normal in exported data, where trailing empty columns get dropped, and padding is the only choice that loses nothing. Blank lines are dropped rather than becoming rows of empty cells. Both are reported.
Where to go next
- TSV to Markdown — the same table, the other way
- CSV to HTML — the same output from another kind of file
- XLSX to HTML — the same output from another kind of file