Every PDF table extractor guesses. Here is what it is guessing, why it guesses wrong, and which knob fixes which failure.
This is the one thing worth understanding, because every failure below follows from it.
A PDF page is a list of drawing instructions: put this piece of text at this position, in this font, at this size. When a person looks at the page, the alignment of those pieces reads as a table. The file itself has no idea there is a table there. No rows, no columns, no cells — just text with coordinates.
So every extractor works backwards: group the pieces into lines by their vertical position, then decide where the column boundaries are from the horizontal gaps. Both steps are guesses, and both are adjustable.
You see 303 303 in a cell that should have been two cells. Or an amount stuck to
the end of a description.
Why: the gap between those two columns was narrower than the tool's threshold, so it never saw a boundary there. This is most common with right-aligned numbers, where the left edge of each value moves depending on how many digits it has.
Fix: lower the column-gap threshold, so a smaller blank space counts as a break. In Tablecut that is the column gap slider — try 8 or 6 instead of 12. Every serious tool has this control under some name.
Nov – 01 becomes Nov and – 01. Or a two-word
description breaks across cells.
Why: the opposite of above — a space inside a single value was wide enough to look like a column boundary.
Fix: raise the column-gap threshold. Note the tension: the same slider fixes failure 1 and causes failure 2. There is no universally right value, which is why the control exists.
A description that wraps onto a second line becomes its own row. Or two adjacent transactions end up in the same row.
Why: rows are grouped by vertical position with a tolerance. Too tight, and a slightly offset baseline starts a new row. Too loose, and two close rows merge.
Fix: the row-grouping tolerance. Raise it when one row is being split; lower it when two rows are merging.
The table has five columns and the tool reports fifteen, most of them empty.
Why: the page header counts too. A letterhead, an address block, an account number line — all of them have text at horizontal positions where the table has nothing, and each of those positions looks like a column.
Fix: tell the tool where the table starts, so the header rows stop voting on the column layout, and drop the columns that are empty. In Tablecut, clicking the header row does the first and clicking a column letter does the second; near-empty columns hide themselves and come back with one click.
Why: the PDF is a scan. There is no text layer, only an image of one.
Fix: OCR, before extraction. And then check every number twice, because OCR errors look exactly like real digits.
How to know you are done: not by looking at the table, but by summing a numeric column and comparing it to the total printed on the document. A table can look perfect and still have a merged cell three screens down. The total is the only check that sees everything at once.
Written by the people who built Tablecut, a browser tool that does this without uploading your file. © 2026 Tchubi. All rights reserved.