What to check before you install a table extractor

Search the Chrome Web Store for "table to Excel" and you get a page of extensions that all describe themselves the same way. The differences between them are real, but none of them are visible from the store listing, and a couple of them only show up after you have already put your data through the tool.

Here is what actually varies, and how to check each one yourself. Most of these take under two minutes. Full disclosure: I wrote one of these extensions, and I have said where it stands on each point, including where it does not win.

1. What the free tier caps

Row caps are the standard limit, and they are placed to bite: a few hundred rows is enough for the tables you did not really need help with, and not enough for the one you did.

How to check. Find a page with a thousand-row table — a Wikipedia list, a long search-results page — export it, and count what you got. Do this before you need it, not during.

Read the store listing for the words "up to", "per day" and "per month" as well. Some tools cap exports per day rather than rows per export, which is harder to notice and just as annoying.

2. Whether it reads grids that are not <table>

Most data on the modern web is not in table markup. React, Angular, AG Grid, MUI DataGrid, TanStack Table and most in-house admin panels render nested div elements and describe the structure with ARIA roles instead. An extension that only looks for <table> finds nothing there and usually says "no tables on this page", which reads like a bug in the page rather than a limit of the tool.

How to check. Open any AG Grid or MUI DataGrid demo page and run the extension on it. Or on the page you care about, right-click a cell, Inspect, and look at what encloses it. If you see role="row" and role="gridcell" rather than <tr> and <td>, you need an extractor that reads ARIA grids.

This is the single biggest functional difference between these tools.

3. Whether it tells you the table is only half loaded

Grids that stream rows as you scroll keep only the visible ones in the page. No extension can read rows that are not there — that part is physics, not a missing feature. What separates the tools is what they do about it: hand you 50 rows out of 2,000 without comment, or say so.

How to check. Open a long virtualised grid, do not scroll, and export immediately. If you get a small number of rows and no warning, you now know that every export from that tool needs checking by hand.

There is more on how to confirm and work around this in why your table export only has the rows you can see.

4. What site access it asks for

On the store page, under Permissions or Site access, an extension will say one of two things.

"Read and change all your data on all websites" means it can read every page you open, at any time, whether or not you are using it. That is a lot of trust for a table exporter, and it is a standing risk if the extension is ever sold or compromised — this has happened to popular extensions more than once.

"activeTab" means it can only read a page at the moment you click its icon, and only that page.

How to check. The store listing has it. After installing, chrome://extensions, Details, Site access.

There are legitimate reasons to want the broader permission — an extension that adds an export button into the page has to be in the page all the time. Just know which trade you are making.

5. Where the data goes

An extension that converts a table to Excel does not need a server. Some send the table off anyway, for cloud storage, sync, or an AI feature.

How to check. Open the extension's popup with DevTools' Network tab open (right-click the popup, Inspect) and export something. Any request to a domain that is not the page you are on is worth understanding. The store listing's privacy section also has to declare data collection, and that declaration is enforceable, so it is worth reading.

6. Merged cells

A header with a rowspan occupies several rows on screen but exists once in the markup. Tools that copy the markup literally leave the rows below it short by one cell, so every column in those rows shifts left. Nothing errors; the numbers just end up under the wrong headers.

How to check. Run it on a Wikipedia table with merged region or season cells, then compare a row from the bottom third against the page.

7. What the output file is actually like

Four details decide whether the file opens cleanly:

How to check. Export a table, open the file in a text editor. You will see immediately whether it is a real workbook, whether there is a BOM, and what the separator is.

8. One-time payment or subscription

For a tool you use twice a month, a subscription is a bad deal in a way that is obvious in advance and easy to forget at signup. Also check what happens when you stop paying: some tools stop exporting, some keep working on what you already have.

9. Whether it is still maintained

How to check. The store listing shows the last update date. Anything more than a year old on Manifest V2 is at risk — Chrome has been disabling those. Read the recent reviews rather than the score: a 4.5 average built up over five years tells you nothing about the state of the extension today.

A short checklist

CheckHowTwo minutes?
Row cap on free tierExport a 1,000-row table, countYes
Reads div and ARIA gridsRun it on an AG Grid demoYes
Warns on virtualised gridsExport without scrolling firstYes
Site accessStore listing, PermissionsYes
Sends data anywhereDevTools Network tab while exportingYes
Merged cellsWikipedia table, check a bottom rowYes
Output qualityOpen the exported file in a text editorYes
Pricing modelStore listingYes
MaintainedLast update date, recent reviewsYes

Where GridPick lands

Since that list is the one I designed GridPick against, the honest version:

The free tier has no row cap at all — that was the point of building it. It reads ARIA grids, iframes and open shadow roots as well as <table> markup. It compares the rows in the page against what the grid claims and tells you when they disagree. It asks for activeTab rather than all-sites access. It expands rowspan and colspan into a rectangular grid and lets you pick whether merged values repeat or leave blanks. CSV carries a BOM, the delimiter is yours to choose, cells that start with = are neutralised, and the .xlsx is a real workbook. Nothing is uploaded; there is no server and no account. Pro is a one-time payment.

Where it does not win: activeTab means it cannot see anything the page has not rendered yet, so a virtualised grid still has to be scrolled through first — it will tell you, but it cannot do it for you. The free tier covers the clipboard and CSV; Excel, JSON and Markdown export are Pro. And it is new, so it has none of the review history that item 9 tells you to look for. That is a fair thing to hold against it.

Related

GridPick does this for you. It reads real tables and div-based grids, expands merged cells, warns you when a grid is only half loaded, and exports to Excel, CSV, JSON or Markdown. The free version has no row limit; Pro is a one-time payment.

Add to Chrome · What it is

Other guides