Skip to main content

4 min read · August 21, 2026

Comparing two versions of a PDF

A word-level diff plus a visual change measure, why comparison is the one operation that exposes two confidential files at once, and what page-position matching cannot do.

Someone sends back a revised contract and says they made a few small changes. Finding out whether that is true, by reading both versions side by side, is one of the least rewarding tasks in professional life — and one of the easiest to get wrong, because the changes that matter are usually the ones designed not to be noticed.

Two kinds of difference, and why you need both

A word-level text diff compares the extracted text of each page and marks what changed: words added shown in green, words removed struck through in red. This is what you want for a contract, because it shows the exact edit — a "not" inserted, a number changed, a clause deleted.

It has a blind spot. Text extraction cannot see anything that is not text: an image swapped, a signature block moved, a stamp added, a logo changed, a page re-laid-out with the same words. On a scanned document it sees nothing at all.

So the second measure is visual: the pages are rendered and compared as images, producing a change percentage per page. That catches everything the text diff cannot, including changes on pages with no text layer. Filum shows both, per page, because either one alone will miss a category of change.

Scans, and telling you what could not run

A scanned PDF has no text layer, so the word-level diff has nothing to compare. The dangerous behaviour here is to run it anyway, find no textual differences, and report that the documents match — which is technically what was measured and completely misleading as an answer.

Filum says the file looks scanned, says the word-level diff cannot run on it, and shows the visual comparison instead. For a word-level diff both files need a real text layer, which any normal digital PDF exported from an application will have.

The limit worth understanding

Pages are aligned by position: page three is compared with page three. If a paragraph moves to a different page — because something above it grew — it appears as removed from the old page and added to the new one, rather than tracked as the same paragraph relocated.

That is honest rather than ideal, and it is a genuinely hard problem: matching content across a re-flowed document requires semantic tracking well beyond comparing pages in order. It is worth knowing so that a large apparent diff after a small insertion does not alarm you.

The tool reports textual and visual differences. It does not make a judgement about whether a change matters, which is the part that still requires you.

The privacy problem unique to comparison

Every other operation on this site involves one file. Comparison involves two, and they are almost always two confidential versions of the same sensitive document — the contract before and after the other side's edits, two drafts of an agreement, two revisions of a filing.

An upload-based compare tool receives both. That is a materially larger disclosure than any single-file operation, and it is the one case where the difference between local and remote processing is not a matter of degree.

Filum reads and compares both PDFs inside your browser, on your own device. Neither file leaves your computer, and you can confirm it in your browser's Network tab: nothing carrying either document is sent.

Try Filum free

No account required.

Comparing two versions of a PDF | Filum