Toolvore

PDF Compare

Compare PDF pages visually and export heatmaps with a difference report. No document upload.

This tool processes its input contents in your browser instead of sending them to a processing service. Page, asset and fixed usage-measurement requests are described on the Privacy page.

Render selected PDF page numbers at equal scale and highlight changed pixels, with downloadable PNG heatmaps and JSON/CSV summaries.

How to use it

  1. 1Choose original and revised PDFs; page 1 compares automatically.
  2. 2Review the selected-page scope, geometry and red change map.
  3. 3Optionally choose up to ten page pairs, resolution and tolerance.
  4. 4Download the comparison ZIP.

Example

Input
A 240 × 160-point page gains an integer-aligned 30 × 20-point rectangle at 72 dpi.
Output
600 / 38,400 pixels change: 1.5625%; bounding rectangle 30 × 20 pixels.

This is selected-page visual comparison, not text/OCR/semantic analysis or proof of identical files.

What happens to your data

Both PDF files are read in local tab memory. The comparison uses no upload or server-side document storage. The archive excludes original PDFs, filenames and text extraction, but its heatmaps can retain readable page content. Keep derived results private when the source is private.

Last updated November 2026

Compare two PDF files visually without sending the documents to a comparison service. Choose an original and revised PDF; page 1 is rendered and compared automatically at the same physical scale. The preview highlights changed pixels in red. A ZIP download contains each selected page's PNG heatmap and JSON/CSV summaries. Optional settings select up to ten page numbers, change resolution or ignore small RGB differences.

The default is page 1 only, not an entire-document comparison. Page numbers align with the same number in the other file, so this is useful for checking a revised diagram, layout or small page set whose order is known. Inserting a page can shift the rest of a document: the tool does not infer matching pages or rearrange them to compensate.

How it works

PDF.js renders the selected pages to opaque white-backed canvases. Its viewport normalizes each page's intrinsic rotation and visible page geometry. Both documents use the selected 72, 96 or 144 dpi; one PDF point is 1/72 inch. Pages align at the visual top-left in a common canvas large enough for both. Smaller pages are padded with white and are never stretched to match a larger page. Width, height and rotation are reported separately, so differently sized blank pages can have equal white pixels but still show a geometry change.

A pixel is marked changed when the maximum absolute difference across its decoded red, green and blue channels exceeds the selected tolerance. Tolerance zero detects every numeric difference; a larger tolerance may suppress small antialiasing changes but can also hide genuine faint changes. Red is a heatmap indicator, not the original document's revision markup. The report includes changed and total pixels, their ratio, a zero-based top-left bounding rectangle, source page geometry and comparison settings. When a selected page exists in only one file it is explicitly added or removed, and its full comparison canvas is marked changed.

This PDF visual diff compares static rendered appearance. It does not extract or understand text, run OCR, verify signatures, detect hidden data, prove two files identical or evaluate legal meaning. Supported annotation appearances may be included by PDF.js; interactive layers, XFA forms and every possible form state are outside the comparison. Browser fonts, color management and antialiasing can affect pixel results. A same-pixel result means only that the chosen rendered pages matched under those settings. Review the original documents for decisions that require more than appearance.

Each file is at most 15 MiB and 100 pages. At most ten page pairs may be selected. Before rendering, the entire selection must fit four million combined source-canvas pixels per pair, twelve million per selection and 8,192 pixels per side. Guarded embedded-image limits also apply. Pages render serially, resources are cleaned up and the archive is capped at 25 MiB. The ZIP includes heatmaps and reports, not the original PDFs. Clear, replacement and cancellation invalidate unfinished or old exports. A bounded parsing or archiving operation may finish its current step before cancellation is checked.

Worked example: A small new rectangle

Input
Two 240 × 160-point pages at 72 dpi. The revised page adds one opaque 30 × 20-point red rectangle away from all existing artwork.
Result
600 of 38,400 pixels changed: 1.5625%. The bounding rectangle is 30 × 20 pixels at the added rectangle's rendered position.

The generated fixture uses integer-aligned rectangles. Other PDF content can introduce antialiasing at edges.

Common use cases

  • Checking whether a diagram changed after PDF export
  • Comparing a few known page numbers in a report
  • Recording a selected-page visual regression as PNG and JSON
  • Spotting changed page sizes or added/removed selected pages

Frequently asked questions

Does PDF Compare check the whole document automatically?+

No. It defaults to page 1 to keep the task fast and explicit. Expand the settings and enter page numbers such as 1-3,5, then compare the selection. At most ten pairs are allowed and the pixel budget may require fewer pages or lower dpi.

Will this find text changes or match moved pages?+

It sees rendered pixels, not words or meaning. Reflowed text can cause a large highlighted area. Page 4 is compared to page 4; there is no automatic page matching after insertions. This is not OCR, a semantic redline or a substitute for checking originals.

What does same rendered pixels prove?+

Only that the selected canvases matched under the chosen resolution, tolerance and browser rendering. Metadata, hidden objects, scripts, digital signatures, unsupported forms and unselected pages can still differ. Geometry differences are recorded independently of pixels.

Why can a blank page show a geometry change with zero changed pixels?+

A white small page and a white large page can fill the same white-padded comparison canvas. The numeric pixels match, but their original page dimensions differ. Reporting both avoids hiding that distinction.

Are the original PDFs uploaded or included in the ZIP?+

No. File parsing and rendering stay in the browser tab, and the archive contains derived heatmap PNGs plus JSON and CSV summaries. Heatmaps can reveal readable page content, so treat downloaded results as sensitive when the source is sensitive.