HTML Table to CSV
Paste HTML from any webpage, email, or web app. The converter finds all <table> elements, lets you pick the one you want, and downloads a clean CSV — nothing uploaded to any server.
How it works
Paste raw HTML from any webpage
Right-click the table, Inspect Element, copy the <table> outerHTML, and paste it here. Or paste a full page source — the converter finds all <table> elements automatically.
Multiple tables? Pick the one you want
When the HTML contains more than one table, a selector appears so you can switch between them without re-pasting. Tables are labeled by their <caption> element or by position.
thead / tbody / tfoot respected
Header rows in <thead> come first. Body rows follow. Footer rows in <tfoot> appear last. The structural order is preserved regardless of how the HTML is written.
Nested elements stripped to text
Links, spans, bold text, and other inline elements inside cells are reduced to their text content. The CSV contains clean values, not raw HTML.
When to use this
Copy a table from a website
Wikipedia comparison tables, pricing tables, specification sheets — any table visible in a browser can be copied as HTML and converted to CSV for analysis.
Export from a web app
Many web apps display data in HTML tables with no CSV export button. Inspect the table element, copy outerHTML, and convert it here.
Process HTML email data
Reports and notifications sent by email often contain HTML tables. Forward to yourself, view source, copy the table HTML, and convert to CSV.
Migrate content between CMSes
Tables in a CMS often export as HTML. Convert to CSV to clean up the data and reimport it into a new system or database.
Example
A product table from a webpage — thead becomes header row
<table>
<thead>
<tr>
<th>Product</th>
<th>Price</th>
<th>In Stock</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#">Keyboard</a></td>
<td>$149.99</td>
<td>Yes</td>
</tr>
<tr>
<td>Standing Desk</td>
<td>$599.00</td>
<td>No</td>
</tr>
</tbody>
</table>Product,Price,In Stock Keyboard,$149.99,Yes Standing Desk,$599.00,No
The <a> tag around "Keyboard" is stripped — only the text content appears in the CSV. The thead row becomes the header row.
Frequently asked questions
How do I get the HTML for a table on a website?
Right-click anywhere on the table and select 'Inspect' or 'Inspect Element'. In the DevTools Elements panel, find the <table> tag, right-click it, and choose Copy > Copy outerHTML. Paste that here.
Can I paste a full HTML page?
Yes. The converter parses the full document and finds all <table> elements. If there are multiple, a selector appears so you can pick which one to extract.
What happens to merged cells (colspan/rowspan)?
Merged cells appear in their source position in the DOM. The visual merging is not reproduced — colspan and rowspan attributes are ignored. The cell text appears once.
Does this work with tables rendered by JavaScript?
No. This converter processes static HTML. If a table is injected by JavaScript after page load, copy the HTML from DevTools (which shows the live DOM), not the page source view.
Why do I have extra blank rows in the CSV?
Some HTML tables use empty <tr> rows as visual spacers. These appear as blank rows in the CSV. Remove them in a spreadsheet app, or use the CSV viewer tool to filter them.
Related Tools
All conversions run in your browser — nothing is uploaded.
Browse all 26 converters →