How to export an HTML table to Google Sheets (3 reliable ways)
You're looking at a table on a web page and you want it in Google Sheets — with the columns lined up and the numbers behaving like numbers. There are three realistic ways to do it. Each works well in some situations and fails badly in others, so the trick is knowing which fits the page in front of you. Here they are, from "free and built in" to "one click."
Way 1: =IMPORTHTML (free, built into Sheets)
Google Sheets has a function made for exactly this:
``
=IMPORTHTML("https://example.com/page", "table", 1)
``
The three arguments are the page URL, whether you want a "table" or a "list", and the index — the 1st table on the page, the 2nd, and so on. If the first index grabs a navigation table, step through 2, 3 until you hit your data.
When this works, it's the best option: free, no row limit, and the data stays live and refreshes on its own.
The real limits. IMPORTHTML only sees the raw HTML the server sends — it does not run the page's JavaScript and it is not signed in as you. So it fails in two common cases:
- JavaScript-rendered tables. Dashboards, sports and finance stats, and most "interactive" pages build their tables in your browser after the page loads. That data isn't in the HTML Google fetches, so IMPORTHTML returns
#N/Aeven though you can clearly see the table. - Login-gated tables. If the table only appears when you're signed in, Google's servers can't reach it.
A quick way to check: put view-source: in front of the URL. If the numbers you want aren't in that raw source, IMPORTHTML will never see them — no formula tweak will fix it.
Way 2: Copy and paste (fast, but fragile)
Select the table in your browser, copy, and paste into Google Sheets. For a small, simple, static table this is genuinely the fastest path.
It falls apart on real-world tables, though. Merged cells, footnote markers like [1], hidden columns, and right-aligned numbers tend to scramble on the way over — values shift into the wrong columns, or numbers paste as text so your sums quietly break. Very long tables also select incompletely, so you grab the top and miss the rest without noticing.
If the paste looks even slightly off, don't fight it cell by cell. Move on to way 3.
Way 3: A browser extension that reads the rendered table
The cases IMPORTHTML can't reach (JavaScript-rendered, login-gated) and the cases copy-paste scrambles are exactly where a browser extension shines — because it reads the page from inside your browser, after the JavaScript has run and while you're already signed in.
That's what Table to Sheets does. It runs only when you click its toolbar button, reads the page's rendered HTML, finds every table, and lets you export the one you want. It's not OCR and it's not a screenshot — it reads the actual table structure, so your columns line up and your numbers come across intact.
Here's the flow:
- Open the page and click the Table to Sheets button.
- It lists every table it found — pick the one you want.
- Export it.
The CSV export is free and unlimited — no row cap, no quota — and Google Sheets opens a CSV directly (File, then Import), so this alone gets your table into a spreadsheet for nothing.
If you'd rather skip the CSV step, the $5/mo Pro tier exports straight to a new Google Sheet in one click. Pro also adds a "clean mode" that strips footnote markers like [1], removes thousands-separator commas, and drops leading $ or £ so numbers import as real numbers. On a messy financial or stats table, that's the difference between a sheet you can sum immediately and one you have to scrub by hand.
The short version
=IMPORTHTML(url, "table", N)is the free, built-in option and the best choice for static, public tables — but it returns#N/Aon JavaScript-rendered or login-gated tables.- Copy-paste works for small, simple tables and scrambles merged cells, footnotes, and numbers on anything bigger.
- For the cases the first two can't handle, Table to Sheets reads the rendered table in your browser: free unlimited CSV, or one-click export to a new Google Sheet with number cleanup on the $5/mo Pro tier.
Get Table to Sheets — free
Export any table on any web page to a clean CSV in one click. Free and unlimited — no row caps. One click to Google Sheets with Pro.
Add to Chrome