{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Alignment{{ alignmentModeLabel }} PrivacyBrowser-local Limit100 pages each
{{ workflowAnnouncement }}
PDF documents and comparison policy
Text-bearing PDFs up to 20 MB and 100 pages each. Password entry and OCR are not included.
Original PDF

Earlier or expected version

{{ originalFileMeta }}
{{ files.original ? files.original.name : 'Drop original PDF here' }}
{{ files.original ? 'Ready for local extraction' : 'Drop or press to browse' }}
Revised PDF

Later or observed version

{{ revisedFileMeta }}
{{ files.revised ? files.revised.name : 'Drop revised PDF here' }}
{{ files.revised ? 'Ready for local extraction' : 'Drop or press to browse' }}

Ignored {{ ignoredFileCount }} extra {{ ignoredFileCount === 1 ? 'file' : 'files' }}. Each source accepts one PDF.

The sample exercises the same PDF.js extraction and comparison path as selected files.
Use content-aware alignment for revisions; use page position when pagination already matches.

{{ workflowMessage }}

Example: 1-4, 7. Blank keeps every original page.
Example: 1-5, 8. Blank keeps every revised page.
Neutral default: off.
{{ ignore_case ? 'Case ignored' : 'Case compared' }}
Neutral default: on, matching PDF.js text-content whitespace behavior.
{{ collapse_whitespace ? 'Whitespace normalized' : 'Line breaks retained' }}
Neutral default: off. Enable only for known repeating headers and footers.
{{ ignore_edge_lines ? 'Edge lines ignored' : 'All lines compared' }}
Review brief
{{ row.label }}{{ row.value }}
{{ reviewHeadline }}

{{ reviewRecommendation }}

  • {{ item }}
{{ chartExportStatus }}

The chart renderer is unavailable. The same status counts remain in the review brief and page ledger.

StatusOriginalRevisedText matchEvidenceCopy
{{ statusLabel(entry.status) }}Page {{ entry.original_page }}Page {{ entry.revised_page }}{{ entry.similarity }}{{ entry.detail }}Original: {{ entry.original_excerpt }}Revised: {{ entry.revised_excerpt }}
{{ ledgerExportStatus }}

A revised PDF rarely keeps every page in the same position. A cover may be inserted, a section may move, or a regenerated report may wrap text onto different pages. Comparing page 12 only with page 12 can therefore turn one early insertion into a long trail of false mismatches. Page-aware comparison first decides which pages belong together, then explains how their extractable text differs.

PDF pages contain drawing instructions, fonts, images, annotations, and other objects rather than a guaranteed reading-order transcript. Text extraction works well for many digitally created documents, but it can be incomplete for scans, outlined lettering, unusual font encodings, forms, charts, or complex multi-column layouts. Optical character recognition (OCR) is a separate process for turning page images into text; without it, a scanned page may have no text to compare.

  • Changed pages contain extractable text on both sides but do not match after normalization.
  • Inserted and removed pages appear on only one side of the alignment.
  • Moved pages have near-identical text but occur at different page numbers.
  • Unreadable means at least one aligned page has no extractable text; it does not mean the page is blank.

Text similarity is evidence for alignment, not proof that two pages look the same. A changed logo, image, color, annotation, signature, crop box, or layout can be invisible to a text-only result. Conversely, line breaks or reading order can change while the visible wording still appears similar. Visual review remains necessary when appearance or non-text content matters.

Normalization should be chosen for the document family. Collapsing whitespace often reduces extraction noise. Ignoring the first and last non-empty text lines can reduce repeating header and footer noise, but it can also hide a meaningful title, date, page label, or signature line. A useful comparison makes that tradeoff explicit.

How to Use This Tool:

Choose the alignment policy before narrowing pages or ignoring text, because that decision controls which pages are compared as pairs.

  1. Choose the original and revised PDF files. Each must be text-bearing, no larger than 20 MB, and no longer than 100 pages. Password entry and OCR are not included.
  2. Leave Content-aware alignment selected for revisions with inserted, deleted, or moved pages. Choose Page position only when the selected page sequences already correspond one-to-one.
  3. Optionally limit Original pages and Revised pages with entries such as 1-4, 7. Blank ranges include every page.
  4. Apply Ignore letter case, Normalize whitespace, or Ignore edge text lines only when those differences are outside the review. Edge-line removal drops the first and last non-empty extracted line on pages with at least three lines.
  5. Inspect Review brief for the result counts and use Page ledger to verify each original/revised page pair, similarity value, excerpt, and status.

Interpreting Results:

Change count includes every aligned row except Unchanged. It therefore combines changed, inserted, removed, moved, and unreadable pages. Read the category counts before treating the total as a measure of editorial work.

A similarity percentage describes the overlap of normalized word occurrences. It does not measure layout, meaning, grammar, or visual fidelity. A high score can still hide one consequential number or clause. A low score can reflect extraction order or a redesigned page with much of the same content.

An unreadable row is a stop-and-check signal. Open both PDFs at the listed page numbers and compare them visually or run approved OCR first. The comparator deliberately avoids claiming equality when either side has no extractable text.

Technical Details:

Each selected page is converted into normalized Unicode text. Compatibility normalization folds equivalent character forms, line endings become consistent, and whitespace or case rules are applied. The resulting words form a multiset: repeated words retain their counts rather than collapsing to a simple set.

Formula Core:

Page similarity uses the multiset Dice coefficient. Shared occurrences count only up to the smaller frequency on the two pages.

S = 2 tT min ( fo (t) , fr (t) ) No + Nr

S ranges from 0 to 1. T is the union of tokens on both pages, f is each token's frequency, and N is the total token count for the original (o) or revised (r) page. Exact normalized text returns 1 before token scoring. Similarity is shown as a whole percentage, but alignment uses the unrounded value.

Transformation Core:

PDF page comparison stages and thresholds
Stage Rule Boundary
Text extraction Read each selected page's text items and build one page string. No OCR or password unlocking is performed.
Token profile Count letter-and-number tokens, including internal apostrophes, periods, and hyphens. At most the first 4,000 tokens per page contribute to similarity.
Ordered alignment Choose page pairings, insertions, and removals with a gap cost of 0.55. A pair with similarity below 0.20 receives a substitution cost of 1.20; otherwise its cost is 1 minus similarity.
Move reconciliation Pair an unaligned removal with an unaligned insertion when their similarity is at least 0.92. The highest available qualifying match is used once.
Evidence row Classify the pair and count added or removed word occurrences for changed pages. Missing extracted text always becomes unreadable rather than unchanged.

Page-position mode skips the alignment search and pairs pages by their order in the selected arrays. If one range contains more pages, the unmatched tail becomes inserted or removed. Content-aware mode is usually better for editorial revisions, while page position is easier to audit when pagination is already fixed.

The bounded comparison accepts no more than 50,000 extracted characters on one page and 1,500,000 characters per document. Processing is limited to 30 seconds. These limits protect the browser tab; they are not properties of the PDF format itself.

Accuracy and Privacy Notes:

The PDFs are read and compared in the browser, which keeps their content out of a remote document-comparison service. Text extraction support still has to load before the files can be processed, so do not assume the page works without a network connection.

  • Scans and image-only pages need OCR before text comparison can be complete.
  • Visual changes, annotations, form values, signatures, and page geometry are outside the text result.
  • Ignoring edge lines is a coarse rule: it removes one non-empty line from each edge, not a detected header or footer region.
  • Normalization settings must stay the same when comparing results from separate runs.

Worked Examples:

Inserted cover page

A revised report adds a new cover before the original first page. Content-aware alignment can mark the cover as inserted and continue pairing the remaining pages by text, while page-position mode compares each original page with the following revised page and can produce many misleading changes.

Scanned approval page

A signed approval page contains only a scanned image. If neither PDF exposes text for that page, the ledger reports it as unreadable rather than unchanged. Open the page images side by side or create approved OCR copies before relying on a text comparison.

References: