'Spot the difference' is a professional task now
Version chaos is the tax on collaborative documents. The contract returns from the other side 'with minor edits'; the report circulates as Final, Final2 and Final-FINAL; the proof comes back from the printer with 'just formatting fixes'. In each case the only question that matters โ what actually changed? โ is the one a PDF is worst at answering, because two versions look identical at a glance precisely where they differ. Reading both, side by side, page by page, is hours of squinting that humans do badly and resent fully.
TwinPeek mechanises the squint. It compares two PDFs page by page on two independent channels: the extracted text, scored as a difference percentage per page, and the rendered page itself, with changed pixels painted red over a ghost of the new version. The page list gives every page a verdict upfront, so review time goes exactly where change happened โ and the pages that did not change get the only attention they deserve: none.
Two channels, because change hides in both
Text comparison catches the edits that matter most and hide best: a changed figure in a table, a softened word in a clause, an added 'not'. The score is computed from shared words per page, so a page with one altered number among hundreds of words scores a small percentage โ correctly signalling 'tiny but real', which is exactly the class of change human proofreaders miss at hour two. Pages present in only one version are flagged outright, a common discovery when a 'minor edit' quietly grew an appendix.
Visual comparison catches what text cannot: a moved logo, a swapped image, a reflowed layout, a signature that shifted, a chart whose bars changed while its labels did not. The difference view renders the new page faintly and paints every substantially-changed pixel red, so the eye lands on the altered region in under a second. Neither channel alone is proof; together they approximate what a meticulous reviewer with unlimited patience would find.
How to compare two PDFs, step by step
Load the earlier version as A and the later as B โ order matters for reading the results, since 'only in B' means added. Run the comparison and read the summary first: pages compared, pages differing, pages identical, and a warning if the page counts differ. That warning matters: comparison matches pages by number, so a page inserted early shifts every later pairing โ the tool flags the situation rather than letting a hundred false differences mislead you.
Then work the page list from the buttons: each opens the inspection view โ A, B, and the red-highlighted difference canvas for that page. Start with pages whose text difference is small but non-zero; those are the surgical edits. Skim high-difference pages for structure โ they were probably rewritten wholesale. When the list shows a page as text-identical and you need certainty about its visuals, inspect it anyway: the red canvas will confirm in a glance what the score implies.
The review situations this was built for
Contract redlines top the list: when the counterparty returns 'their standard version with light edits', TwinPeek verifies the lightness. Print proofs follow โ the file you sent versus the proof they returned โ where visual diffing catches reflow and font substitution that text comparison cannot see. Regulated documents, exam papers, financial statements and policy updates share the pattern: a new version claims descent from an approved old one, and somebody must certify the descent is honest.
It is equally useful defensively, on your own workflow: before sending 'the corrected version', diff it against what the client last saw and confirm the only changes are the ones you promised. That thirty-second check has prevented more awkward emails than any other habit in document work โ because the commonest bad change is the accidental one: the paragraph deleted by a stray keystroke, the table row lost in a copy-paste, invisible until somebody diffs.
Reading difference percentages like a professional
Zero percent means the page's words are the same multiset โ order shuffled could still score zero, which is why the visual channel exists. Small percentages (under five) mean surgical edits: hunt them deliberately, word by word, because they were designed โ by an editor or by accident โ to be easy to miss. Large percentages mean rewrite territory: review the page as new content rather than as an edit, because line-by-line reconciliation of a rewritten page wastes the time the tool just saved you.
Treat the numbers as triage, not verdict. A one-word change in a liability clause is a one-word change; the percentage will call it 0.4 and it may be the most important pixel in the document. TwinPeek's promise is narrower and kept completely: it will show you every page that changed, on both channels, and point your eyes at where. Judgement about what the changes mean remains, properly, yours.
Privacy: both versions stay in the room
Document comparison involves the two most sensitive artefacts in any negotiation: what you sent, and what came back. TwinPeek loads both into your browser tab and compares them with libraries on your device. Neither file is uploaded, retained or seen by any server โ the negotiation's paper trail stays exactly as private as the negotiation.
Local comparison also removes the practical frictions of upload-based differs: no file-size tiers for the 300-page exhibit, no queue while counsel waits, no copies of both versions lingering in a third party's storage after the matter closes. When the documents are the deal, the tool that never touches them beyond your screen is the only comfortable shape for the job.
A comparison ritual worth adopting
Diff before you send, not after you are asked. Make it the last step of every revision cycle: the approved version as A, your new export as B, two minutes of page verdicts. Save comparison pairs with matching names โ 'v3-approved' and 'v3-sent' โ so the evidence of what changed survives the project. When a counterpart returns edits, diff before reading a single page: knowing which three pages moved transforms a defensive three-hour review into a focused twenty minutes. If your documents carry figures, double-check every low-percentage page personally; the tool's job is to point, yours is to judge. Adopted as a ritual, comparison stops being suspicion and becomes what it should be โ version hygiene, as routine and as unglamorous as saving your work.
Frequently Asked Questions
How does TwinPeek decide a page changed?
On two channels: the page's extracted text is scored as a difference percentage, and the rendered pages are compared pixel by pixel with changes highlighted in red. Either channel can reveal what the other misses.
What does a small difference like 0.8% mean?
A surgical edit โ a few words among hundreds. Those are the most important to review closely: a changed figure, date or 'not' typically scores under one percent.
The page counts differ. What should I do?
Pages are matched by number, so an inserted page shifts later pairings. Compare the sections before and after the insertion separately, or treat post-insertion pages as new content โ the tool warns you when counts differ.
Can it compare scanned PDFs?
The visual channel works on any PDF. The text channel needs a text layer; scans will report large text differences even when visually identical, so lean on the red-highlight view for scans โ or OCR them first with PDFSeer.
Does it show exactly which words changed?
It scores each page's text difference and shows you precisely where changes are visually. For a word-level redline of plain text, the text-diff view in DiffScope complements this page-level comparison.
Are my documents uploaded anywhere?
Never. Both PDFs are compared entirely inside your browser; nothing is transmitted or stored.