Compare two PDFs, word by word
Two versions of the same PDF, and somewhere in forty pages are the three sentences that changed. Reading both side by side on a desk works for a page or two and fails completely beyond that, which is why the job is usually handed to software, and why most of the software asks you to upload the file first.
This page does it in the browser. Drop the earlier version on the left, the later one on the right, and the differences appear in a few hundred milliseconds: inserted words marked, deleted words struck through, relocated paragraphs reported as moves rather than as a deletion and an unrelated addition. Nothing is sent anywhere, because nothing needs to be.
or drop it here
.pdf · .docx · .txt · .md
or drop it here
.pdf · .docx · .txt · .md
Nothing is uploaded. Both files are read inside this tab.
How to do it
- 01
Drop both PDFs
The left slot is the earlier draft, the right one is the version to check. Got them the wrong way round? The swap button fixes it instantly, without re-reading either file.
- 02
Read the summary first
How many changes, how many words were added and removed, how much of the new document is genuinely new wording, and whether any block merely moved. That one line usually decides how carefully the rest needs reading.
- 03
Work down the change list
Each entry names its page and shows the words on both sides. Press J and K to step through them; the document scrolls to each one as you go. A defined term renamed throughout is reported once, with its count, before the individual occurrences.
- 04
Take the result with you
Copy the summary as formatted text for an email, download the change list as CSV to work through in a spreadsheet, or print: the browser’s print dialogue saves a PDF of the comparison with the colours intact.
A PDF does not contain paragraphs, and that is the whole difficulty
It is tempting to think of a PDF as a document with text in it. It is not. A PDF contains instructions of the form "draw these glyphs at this position in this font", and nothing above that level: no words, no lines, no paragraphs. Every one of those has to be reconstructed from coordinates, and every PDF comparison tool that has ever given you a strange answer gave it to you somewhere in that reconstruction.
Three things go wrong most often. A word gets broken across a line by the typesetter, so indemnification arrives as indem- and nification; compared naively against an unhyphenated copy that is two deletions and an insertion, on a word nobody touched. A producer splits a word into two glyph runs to kern it, and the halves get joined with a space that was never there. And a page footer renumbers because a sentence was added three pages earlier, so a twenty-page agreement reports twenty-one changes before it reports the one you were looking for.
All three are handled here, and handled by asking better questions rather than by guessing harder. A word broken across a line is rejoined, and because the extracted text cannot tell a typesetter’s hyphen from the author’s own, the rejoined word carries BOTH readings and the ambiguity is settled by checking which one appears in the other document. Page furniture is found by repetition across pages rather than by position, so a running footer is caught and the first line of body text on a narrow-margined page is not. And a paragraph break is detected by asking whether the first word of the next line would have fitted on the previous one, which is the actual definition of a line that was ended on purpose, and works on ragged-right text where a threshold does not.
Reading order is the one place where the choice is to do less. The obvious move is to sort the glyph runs top to bottom and left to right, and it is wrong for anything with columns: it reads across the gutter forever. The order the producer wrote the text in is kept instead, which is reading order for every producer that matters. More to the point, it only has to be CONSISTENT rather than perfect, because both documents go through the same code. Two exports of one contract from one producer are ordered the same way, and the comparison is unaffected.
Questions
- Are my documents uploaded?
- No. Both files are read inside the browser tab and never sent anywhere; there is no upload endpoint on this site, so it could not receive them. You can confirm it in your browser’s network inspector: no document data is transmitted.
- How large a PDF can it handle?
- Comfortably a few hundred pages. The comparison itself takes around 60 milliseconds for a 250-page pair; what takes the time is reading the PDFs, which is a second or two for a long one. The hard refusal is at 256 MB per file.
- Does it work on a PDF that is a scan?
- No, and no tool can without optical character recognition: a scanned page contains a picture of words, not words. This is detected and said plainly rather than reported as "no differences found", which would be the dangerous answer.
- Can it compare a PDF against a Word document?
- Yes. Both are reduced to the same internal form before anything is compared, so the pair can be any mix of PDF, .docx, plain text and Markdown. Most desktop tools require you to convert one side first.
- Why are page numbers not listed as changes?
- Because running headers, footers and page numbers are detected as page furniture and left out of the comparison by default. They differ between two versions of a document whenever one gains a line, and a change list that opens with twenty page numbers has failed at its job. The toggle turns it off if you want them compared.
- Is it really free?
- Yes. No account, no page limit, no watermark and no trial clock. The comparison runs on your own machine, which is why it costs nothing to offer: there is no server doing the work.