HTML Table to CSV Converter
This HTML to CSV converter finds the table elements in a page and turns the one you choose into CSV you can open in any spreadsheet. A th row or a thead is recognised as the header; a table with neither is treated as all data. Markup inside a cell — links, spans, line breaks, bold text — is reduced to the text a reader would see, and HTML entities such as & and ' are decoded, so you get the content of the page rather than its source. Rows are padded to the width of the widest one, so a table using colspan or missing a trailing cell still produces a rectangular file. Everything runs in your browser.
How it works
Finds the <table> elements in the markup and turns the one you pick into CSV. A <th> row or a <thead> becomes the header; a table with neither is treated as all data.
Markup inside a cell — links, spans, <br> — is reduced to its text, and entities such as & are decoded, so you get the content of the page rather than its source.
The conversion runs entirely in your browser — nothing you paste or upload is sent to a server.
How to convert an HTML table to CSV
- Paste the page source — or just the
<table>element — into the input on the left. - If the page has several tables, step through them with the table number box.
- Copy the result, or download it as a
.csvfile.
Getting the markup
Right-click the table in your browser, choose Inspect, find the enclosing
<table> element in the panel, then right-click it and copy its outer HTML. You can paste just
that, or paste the whole page source and pick the table by number — the note under the output tells you how many
were found.
Ragged rows and colspan
Real tables are rarely perfect rectangles. A cell with colspan="2" occupies two columns visually but
is one cell in the markup, and rows often drop a trailing cell entirely. Every row is padded to the width of the
widest one, so the columns line up in the spreadsheet instead of drifting part-way down the file.
Choosing a delimiter
Comma is the default. Semicolon is what spreadsheet software expects in locales that use the comma as a decimal mark, and tab is what you want if you are going to paste rather than open the file.
Common use cases
- Lifting a reference table out of documentation into something you can work with.
- Capturing a report from a web admin panel that has no export button.
- Turning a wiki table into data you can sort, filter or load.
Frequently asked questions
How do I convert an HTML table to CSV?
Paste the page source — or just the table element — into the left panel. The CSV appears on the right, ready to download and open in a spreadsheet.
How do I get the table markup?
Right-click the table in your browser, choose Inspect, find the enclosing table element, then copy its outer HTML. Or paste the whole page and pick the table by number.
What happens to links inside cells?
They are reduced to their text, which is what you want in a spreadsheet. The URL itself is not kept.
What if the table uses colspan?
The spanned cell fills its first column and the rest are left empty, and every row is padded to the same width so the columns do not drift.
Can I use a semicolon separator?
Yes. Pick it from the delimiter dropdown, which suits spreadsheets in locales that use the comma as a decimal mark.
Is the page I paste sent anywhere?
No. The markup is parsed in your browser and nothing is transmitted.
Related tools
HTML Table to TSV Converter
This HTML to TSV converter pulls a table out of a page and gives you tab-separated rows.
HTML Table to JSON Converter
This HTML to JSON converter turns a table on a page into an array of typed objects.
CSV to HTML Table Converter
This CSV to HTML converter builds a proper, accessible table with every cell escaped.