All essentials

Drop the old and new revisions.

Free tool

Drawing Overlay

Overlay a page from two PDF revisions at the same scale: old in red, new in blue, unchanged in dark. Pair pages, nudge the alignment, adjust the opacity, and save the view as a PNG.

Good to know

  • This compares pixels, not objects, so a small shift between sets makes everything look changed. Use the nudge to line them up.
  • Differences are shown for you to read. Nothing here decides what counts as a real change.
  • The PDFs are never changed. The only output is the PNG.

Your files stay on your machine

This tool runs entirely inside your browser tab. Nothing is uploaded, stored, or sent to a server — close the tab and every trace is gone.

These are the free ones — see the full suite

How big a file can it take?

There is no upload, so there is no upload limit — but the work happens in this tab, which means your browser’s memory is the budget. Nothing here will refuse a file for being large; a big enough one simply gets slow and, eventually, reloads the tab. The figures below are rules of thumb on a desktop browser, not enforced caps. On a phone or tablet, expect a good deal less.

  • Two pages are rendered at once at the chosen scale, so a large-format sheet at high resolution is the limit: comfortable up to about 30 megapixels.
  • One pair is drawn at a time, so page count barely matters.

Password-protected PDFs are declined whatever their size — unlock the file first. If a run does die on a long document, splitting it into volumes and working through them one at a time is the reliable way round it.

Built on open source

The Essentials tools do their work in your browser using these open-source libraries, used under the licenses below. Each remains the copyright of its authors.

  • pdf-lib — MIT · creates and edits the PDFs you download
  • pdf.js — Apache-2.0 · reads your PDF and renders the page previews
  • SheetJS (xlsx) — Apache-2.0 · reads Excel workbooks — .xlsx, .xls, .xlsb and .ods
  • hyparquet — MIT · reads Apache Parquet files
  • hyparquet-compressors — MIT · the Parquet codecs beyond Snappy — Gzip, Zstd, Brotli, LZ4
  • JSZip — MIT · bundles multi-file results into one ZIP
  • Tesseract.js — Apache-2.0 · reads the text on scanned pages in OCR PDF, with its self-hosted engine and English data
  • exifr — MIT · reads photo dates, locations and orientation
  • geotiff.js — MIT · reads GeoTIFF elevation models
  • LERC — Apache-2.0 · decodes LERC-compressed GeoTIFFs, through geotiff.js
  • zstddec (with Zstandard) — MIT, BSD-3-Clause · decodes Zstandard-compressed GeoTIFFs, through geotiff.js
  • pako — MIT, Zlib · compresses and decompresses data inside pdf-lib, JSZip, PizZip and geotiff.js
  • shpjs — MIT · reads zipped Shapefiles
  • docxtemplater — MIT · fills the fields in Word templates
  • PizZip — MIT · opens Word templates for filling
  • jsdiff — BSD-3-Clause · finds the word changes in PDF Compare
  • msgreader — Apache-2.0 · reads Outlook .msg files
  • Lucide — ISC · the icons throughout these tools
  • React — MIT · the interface itself
  • Next.js — MIT · builds and serves these pages

pdf.js ships fallback fonts contributed by Foxit Software, redistributed here as part of pdf.js. JSZip is dual-licensed; it is used here under the MIT license.