Table Extraction Limits: Why a Big Table Gets Truncated
Extraction limits are safety caps on how much of a very large table is read: here, 10,000 rows, 256 columns and 32 KB of text per cell. They stop a runaway page from freezing the browser. Normal pages never come close.
Why it matters
A malformed table or a data-heavy page can contain tables with thousands upon thousands of rows. Some tables are genuinely that large; others are the result of a bug that makes the page generate rows infinitely or until it runs out of memory.
When a table gets very large, reading all of it into memory and rendering it in the browser popup can slow or freeze the tab. That's why extractors set limits. Scalpel Tables stops reading when it reaches 10,000 rows, 256 columns, or a single cell with more than 32 KB of text. When one of those caps is hit, the export is truncated at that point, and the table card shows a "truncated" badge to tell you it's incomplete.
Limits protect the browser from hanging. They also serve a practical purpose: if a page sends a table with hundreds of thousands of rows, you probably don't want all of it anyway.
How it works
The limits are applied during extraction, not during display. As soon as the detector starts reading cells into memory, it counts rows and columns. When any counter hits its cap, extraction stops. The cells already read are exported; the rest are discarded.
The row limit is 10,000. The column limit is 256. Both are rarely reached on normal web pages. A typical product listing has tens or hundreds of rows; business reports might have thousands. Even large data tables usually stay well under 10,000 rows.
The per-cell limit is 32 KB of plain text. This catches cells that contain huge blocks of prose, code, or markup. A cell with thousands of words will hit this limit before the row limit does.
When truncation happens, you have a few options. You can narrow the section of the page you're interested in and export just that part. Some sites let you adjust the number of rows displayed per page; if so, export in chunks. Or you can use "Pick on page" to click exactly the portion of the table you need and bypass the rest.
What does not matter
Hitting the limit doesn't mean your data is corrupted or wrong. It means Scalpel read the cap number of rows and stopped. The rows that were read are complete and correct. You simply didn't get the full table, and you need to decide whether the truncated portion matters for your use case.
Also, the limits are not negotiable per-table. They're a safety boundary for the browser. If a page's table is genuinely larger than 10,000 rows, you'll need to export it in multiple passes or find a direct link to a data download if the site offers one.
Code example
Imagine a table with 15,000 rows of sales data. Scalpel reads and copies the first 10,000 rows to your clipboard or file. The table card shows a "truncated" badge. If you paste it into a spreadsheet, you'll see rows 1 through 10,000, but rows 10,001 to 15,000 are missing. The data you do have is valid; you just need the rest from another export.
Alternatively, a page with deeply nested or unusual HTML might generate a single cell with 50 KB of text content. The extractor captures the first 32 KB of that cell and truncates the rest, keeping the table rectangular.
How Scalpel shows it
When a table hits any extraction limit, Scalpel displays a "truncated" badge on the table card. The badge indicates that the export is incomplete. The number of rows shown in the popup is the number that were successfully extracted before the cap was reached. If you export it anyway, you'll get those rows only.
Check the preview before exporting large tables. If you see a truncated badge and you need the full table, try one of the workarounds: scroll the page to isolate the section you want, use the browser's page search to find a narrower subset, or contact the site to see if they offer a direct download link.