How to Extract a Table from a Website to Excel or CSV
You found the data. It's sitting right there in a table on a web page. Getting it into Excel or Google Sheets without an hour of cleanup is the hard part. Here are the four methods that actually work, from simplest to most robust.
Method 1: plain copy-paste (works about half the time)
Select the table with your mouse, copy, and paste into a spreadsheet. Excel and Google Sheets both try to detect table structure in pasted content.
When it works: simple, old-fashioned HTML tables paste cleanly.
When it fails: modern sites often build "tables" out of styled divs, and those paste as one long column of mush. Merged headers, footnote symbols, and currency formatting also come along and need manual cleanup. If the paste looks wrong, don't fight it; jump to another method.
Method 2: Google Sheets IMPORTHTML (live data, free)
In a Google Sheet, type:
=IMPORTHTML("https://example.com/page", "table", 1)
The last number picks which table on the page (1 is the first). Sheets fetches and parses it, and re-fetches periodically, so the data stays current.
Good: free, refreshes automatically, no install.
Bad: only sees real HTML tables, fails on div-based layouts and JavaScript-rendered content, and doesn't work behind logins. Finding the right table index is trial and error.
Method 3: Excel's "Get Data from Web" (Windows)
In Excel: Data → Get Data → From Other Sources → From Web, paste the URL, and Excel shows every table it can detect. Pick one and load it. Power Query even lets you transform the data on the way in.
Good: proper ETL features, refreshable, handles some tricky pages the Sheets formula can't.
Bad: Windows-centric (the Mac version is limited), struggles with JavaScript-heavy sites, and nothing behind a login works easily.
Method 4: AI extraction from a screenshot (works on anything you can see)
The methods above all parse the page's code, which is why they break on modern sites: the code often doesn't contain a table element at all. The newest approach skips the code entirely and reads the page the way you do, by looking at it.
With SnapScope, you capture the page (free, one click), then press Tables to CSV. AI reads the capture visually, finds every table on it, and gives you a CSV file that opens straight in Excel or Sheets. Because it works from what's rendered on screen, it doesn't matter whether the table is real HTML, styled divs, a JavaScript app, or inside your logged-in account dashboard. If your eyes can see it, it can be extracted.
Good: works on div-tables, JS apps, and logged-in pages; handles multiple tables at once; nothing to configure.
Bad: it's a Pro feature (the AI processing costs real compute), and like any AI you should sanity-check the numbers on anything important.
Quick decision guide
- Old-school HTML table, one-off: copy-paste, then IMPORTHTML if paste mangles it
- Data you need to stay fresh: IMPORTHTML or Excel web query
- Modern site, JS app, or behind a login: screenshot + AI extraction