Need the table from a web page inside Excel or Google Sheets? Paste the HTML and get RFC 4180-compliant CSV — every cell in its place, nothing sent to any server.
Updated August 2026 · 4 minute read
An HTML table is not just text — and CSV does not tolerate sloppy text either. Three things almost always go wrong when converting manually:
A cell like „1,234.56“ or „Springfield, IL“ breaks the column structure — unless the cell is correctly wrapped in quotes.
Cells with line breaks snap rows apart if they aren't escaped per RFC 4180. The file looks fine in a text editor and is broken in your spreadsheet.
Headers spanning multiple columns, bold text, links and nested elements produce extra columns or empty fields when treated as plain text.
The free Clean Copy web tool converts HTML tables to correct CSV directly in your browser.
Right-click the table → Inspect
→ right-click the <table> element → Copy → Copy outerHTML.
(Alternatively: Ctrl+U and find the <table> block.)
Go to /clean-copy-tool, paste the HTML,
and click "CSV" as the output format.
Copy the result into a text editor and save it as
competitor-prices.csv. Or paste straight into Excel /
Google Sheets — Data → From text/CSV reads it automatically.
Cells with commas, quotes or line breaks are quoted and escaped automatically — the file opens cleanly in any spreadsheet.
Prose, menus and ads outside the table are dropped whenever a table is present in what you paste.
The conversion runs in your browser. Your data never leaves your machine.
| Method | RFC 4180-safe? | Catch |
|---|---|---|
| Manual copy-paste | No | Commas and line breaks wreck the columns |
| The site's own export button | Sometimes | Rarely exists; often locked behind a paid plan |
| Python script (BeautifulSoup) | Yes | Requires coding and environment setup |
| Clean Copy web tool — CSV mode | Yes | None — free, no install, runs locally |
Use it often? There's also a browser extension, a CLI tool and an Obsidian plugin powered by the same CSV engine.
Open the free web tool at /clean-copy-tool, copy the table's HTML from the page (right-click → Inspect → copy outerHTML, or press Ctrl+U and locate the