Putting a spreadsheet on a web page usually means one of two bad options: a screenshot nobody can read on a phone, or retyping the whole thing by hand. Upload your .xlsx or .xls above and get real HTML table markup you can paste into a page.
Below: what to prepare in Excel first, why a wide table breaks on mobile and the two-line fix, and what belongs in a web page versus what should stay in the workbook.
The output is only as clean as the input, and three things in Excel decide most of the result.
Set a print area. A worksheet has no natural edge, so conversion works from the used range — every cell that has ever held content or formatting. Press Ctrl + End to see where Excel thinks your sheet ends. If the cursor lands somewhere absurd, you will get a table padded with hundreds of empty cells. Select your data and use Page Layout → Print Area → Set Print Area.
Make the first row a real header row. Titles, merged banner cells and blank spacer rows above your data all become table rows, which is exactly what you do not want. The cleanest source is a single header row followed immediately by data.
Check for ########. When a number is wider than its column, Excel shows hashes rather than the value. Select everything with Ctrl+A and use Home → Format → AutoFit Column Width before converting.
This is the problem people discover after publishing, and it has a simple fix.
A table with eight columns is comfortable on a laptop and impossible on a 375-pixel phone screen. Browsers do not reflow tables the way they reflow text — a table keeps its shape, so it either squeezes columns until the words wrap one letter at a time, or pushes past the edge and breaks the whole page layout.
The standard remedy is to let the table scroll horizontally inside its own box rather than stretching the page. Wrap it:
<div style="overflow-x:auto">
<table> ... </table>
</div>
Two lines, and a wide table becomes swipeable on mobile instead of destructive. If your site has a CSS framework it probably has a class for this already — look for something named along the lines of table-responsive.
Better still, cut the columns. A web table of four or five columns is readable everywhere; one of twelve is a spreadsheet pretending to be a web page.
The useful distinction is between structure and presentation.
Structure carries across: rows, columns, cell values, merged cells as colspan and rowspan, and the header row. That is the part you cannot easily recreate by hand and the part that matters.
Presentation is better left to your stylesheet. Excel's fonts, exact colours, borders and cell shading can come through as inline styles, and inline styles override your theme — so the table ends up looking like a spreadsheet dropped into your page rather than part of your site. It also makes the table impossible to restyle later without editing every cell.
If your output carries heavy inline styling, strip it and let your CSS handle appearance. A plain <table> with a proper <thead> is far more useful than one carrying Calibri 11pt on every cell.
Formulas become values. The page shows results, not calculations, which is normally what you want — your workings do not travel to the web.
All three put a table on a page, and they differ in ways that matter.
HTML text is readable by machines. Search engines index it, so a table of specifications or prices can actually be found. Screen readers navigate it cell by cell, announcing the column heading with each value — which a picture of a table cannot do at all. Visitors can select and copy a figure.
An image is fixed and safe from editing, but invisible to search, unreadable to screen readers, and unusably small on a phone unless the visitor zooms. Excel to JPG suits a small table dropped into a slide or an email, not a web page.
A PDF is right for something to download, print or file — a price list, a statement, a report. Excel to PDF handles that, and it is the wrong choice for content you want people to read inline.
For anything on a page that people should find and read, HTML wins on every count that is not about locking the content down.
Use the code view, not the visual editor, or your markup will be reinterpreted as you paste.
In WordPress's block editor, add a Custom HTML block. In the classic editor, switch from Visual to Text. Most other systems have an equivalent source or HTML mode.
Paste the table only. If the converted file includes <html>, <head> or <body> tags, remove them — your site supplies its own page wrapper, and duplicating those tags produces invalid markup that some themes render badly.
Then preview on a phone before publishing. It takes ten seconds and it is where table problems always show up first.
overflow-x:auto so it scrolls sideways inside its own box, or reduce the number of columns.<html>, <head> or <body> tags first — the CMS supplies those itself.Excel to PDF suits something to download or print, Excel to JPG produces an image for a slide or email, Excel to CSV gives plain data for another system, and Word to HTML handles documents rather than sheets. Browse all Excel tools.