Pre-launch — all tools live, free with no limits.

Compare PDF Files

Two versions of the same PDF — which one has the differences?
See every text and visual difference, side by side.

Drop two PDFs to compare them
Up to 25 MB per file · Up to 50 pages per file

Drop the original here

Drop the revision here

About PDF comparison

How the diff actually works

The hybrid algorithm picks per page. For each page pair, the tool extracts text via pdfjs's getTextContent API. If both sides produce 50 or more characters, the page goes through Myers diff at the token level — a classic O(ND) algorithm that finds the minimum edit script between two token sequences. Below 50 characters (typically scanned pages or image-only layouts), the tool falls back to pixel comparison: both pages render to canvas at 1.0 scale, then per-cell pixel deltas above tolerance are counted as changed regions. The classification (text-changed vs image-changed vs identical) lives in the per-page result so the summary panel can show what kind of change happened where.

Why side-by-side beats overlay

Overlay comparison (red strikethrough on removed text, green underline on added text, drawn on one rendering of the document) reads naturally for short diffs but loses context fast on longer changes. Side-by-side rendering shows both versions in full, scroll-synced so the same page region stays aligned across the panes. The inline summary panel acts as a navigation index — jump to page 7 to see the change there without scrolling the whole document. The pattern works equally well for two-line edits and for forty-page revisions; overlay only works for the former.

Page count mismatch — what happens

When the two PDFs have different page counts, the result is classified partial-comparison. The first N pages (where N is the smaller page count) are compared normally with text or image diff. The extra pages on the longer side are listed in the summary panel as unpaired, so you can see which pages exist only in one version. The most common case is a revision where the author added or removed pages between versions — the comparison still works for the overlapping pages, and the summary makes the structural change explicit. If page counts mismatch heavily (one document twice as long as the other), PDF to Text extracts plain text from both for content-only comparison without the page alignment constraint.

Why browser-only for compare

Comparison use cases concentrate on the documents where privacy matters most: contract drafts the counterparty sent, redacted versions awaiting release, internal review copies that aren't supposed to leak. Uploading both versions to a third-party server adds risk exactly when you don't want it. Compare PDF Files runs entirely in your browser via pdf-lib and pdfjs — both files stay on your device. Server-based competitors (iLovePDF, PDF24) require uploading; Adobe Acrobat Compare requires a $14.99/month subscription. pdfmundo's comparison ships free, browser-only, with no upload.

When compare isn't enough

If either PDF is password-protected, comparison cannot read the content — remove the password in your PDF software first, then come back. If either PDF is corrupted (truncated download, scanner firmware bug, archival damage), pdfjs can't parse it — Repair PDF may recover it; the recovery referral chain is compare → repair → re-compare. For files exceeding the 50-page cap, or when only the textual content matters, PDF to Text extracts plain text from both PDFs for external diff. Files where one side isn't a PDF at all (text or image renamed to .pdf) are detected at pre-flight via the %PDF magic-byte check.

Frequently asked questions

What kinds of changes can it find?
Text changes — additions, removals, and modifications detected via PDF text extraction + Myers diff at the token level. Visual changes — image modifications, layout shifts, or any pixel-level difference detected when text extraction yields too little text for reliable diff (under 50 characters per page). The hybrid algorithm picks per page automatically: text diff where text exists, pixel diff where it doesn't. The summary panel classifies each page so you can see what kind of change happened where.
Does it work for scanned PDFs?
Yes via image-diff fallback. The algorithm detects per page whether text extraction succeeded (50 characters or more). For scanned pages with no extractable text, it falls back to pixel-level canvas comparison automatically. The fallback also covers image-heavy layouts where text is rendered as embedded bitmaps. The trade-off: image diff catches every pixel difference (useful for redaction verification) but doesn't distinguish meaningful changes from noise like font rendering differences. Use the summary panel to focus on pages with the highest change counts.
What if the two PDFs have different page counts?
The result is classified partial-comparison. Overlapping pages are compared normally; the extras on the longer side appear in the summary panel as unpaired. This is the most common case for revision review — the author added or removed pages between versions. The comparison still works for the overlapping pages, and the summary panel makes the structural change explicit. If the difference is heavy (one document much longer than the other), PDF to Text may serve better for content-only comparison.
Are my PDFs uploaded to your servers?
No. The entire comparison runs in your browser via pdf-lib and pdfjs. Both PDFs stay on your device. This matters specifically for compare: revision-review use cases often involve sensitive content (contracts, redacted documents, financial statements) where uploading to a third-party server adds risk exactly when you don't want it. Server-based competitors require uploading; pdfmundo's comparison runs browser-only with no upload.
Why are some text-identical PDFs flagged as different?
PDF text encoding has Unicode variants for visually-identical characters. The most common case: ligatures. The letters 'ff' encoded as two separate code points (U+0066 + U+0066) versus the single ligature glyph 'ff' (U+FB00). Both render identically on screen but compare differently as character sequences. Compare PDF Files applies NFKC Unicode normalization to extracted text before diff, which catches the ligature case automatically. Persistent false positives usually indicate different font subsetting between the two PDFs — visually identical but encoded differently. The summary panel shows where the differences are; you can inspect the relevant pages to verify.
Can I download a diff report?
Not in v1. The visual side-by-side view + inline summary panel cover the primary review use case. A downloadable diff report (annotated PDF with highlighted regions) is on the v1.1 roadmap. For now, screenshots of the side-by-side view or the summary panel cover most documentation needs.
What's the maximum file size and page count?
50 MB per file and 50 pages per file. The page cap exists because comparison memory scales with page count: image-diff renders both pages to canvas at full resolution, which costs about 10 MB per page-pair. The 50-page cap keeps browser memory bounded for the worst case where all pages fall to image-diff. Most revision-review use cases fit within both limits; longer documents typically benefit from chunked comparison (compare specific page ranges in separate runs).
What if one of my PDFs is corrupted?
The comparison errors with a one-corrupted result and a direct link to Repair PDF. The recovery referral chain is compare → repair → re-compare: repair recovers what it can from the damaged PDF, then you bring the recovered file back to compare. If the repaired file still won't parse, PDF to Text may extract any plain-text content for external comparison as a last resort.

More PDF tools, coming soon

30+ tools in total — merge, split, convert, OCR, sign, watermark, and more. All free to try.

Back to homepage →