Initialising Workbench...
Compare two screenshots or scans — pixel by pixel, or by the text inside them. Both images stay in your browser.
Drop a file here or click to upload
PNG, JPG, WebP, BMP or GIF — or paste with Ctrl/⌘ + V
Drop a file here or click to upload
PNG, JPG, WebP, BMP or GIF — or paste with Ctrl/⌘ + V
Visual mode compares the images pixel by pixel and boxes the areas that moved — best when both screenshots were captured at the same size. Text mode reads both images with OCR and diffs the words instead, which survives a different window width or zoom level.
Add two images and press Compare — the differences will appear here.
The two modes fail in opposite directions, so the right one depends on how the images were captured.
Pixel comparison runs on a local canvas and text comparison uses the Tesseract WASM engine served from this site — nothing is uploaded and no third-party CDN is contacted.
The Screenshot Diff tool answers “what actually changed between these two images?” without uploading either of them. Drop in a before and an after — or paste them straight from the clipboard — and compare them in whichever way suits how they were captured.
Visual mode compares the two images pixel by pixel using a perceptual colour distance, then clusters the changed pixels into outlined regions so you can see at a glance where the difference is rather than hunting for it. A sensitivity slider controls how much colour movement counts as a change, which is what separates a real edit from JPEG artefacts and font anti-aliasing. Review the result as a difference map, a before/after slider, or side by side.
Text mode reads both images with the same offline Tesseract OCR engine used by the Image to Text tool, then runs the extracted text through the same line-by-line diff as the Diff Checker — word-level highlighting, split and unified views, copyable patch. Crucially, it rebuilds lines from the word coordinates rather than trusting the engine's newlines, so text that re-wraps at a different window width still lines up. Because a misread character looks exactly like an edit, changed lines that neither scan read confidently are flagged instead of being presented as real differences.
It fits visual regression spot-checks, comparing two versions of a scanned document or receipt, verifying that a UI change did what you expected, and confirming whether two near-identical screenshots really are identical.
No. Visual mode compares the images on a canvas in your own browser, and text mode runs a WebAssembly build of Tesseract in a Web Worker. Both the engine and the language models are served from this site rather than a third-party CDN, so nothing about your screenshots — not even the fact that you compared them — leaves your device.
Visual mode compares the two images pixel by pixel and outlines the regions that changed. It catches everything — colour, spacing, icons, a shifted border — but it needs both captures at the same size, otherwise almost every pixel counts as different. Text mode runs OCR on both images and diffs the words, so it survives a different window width, zoom level, or crop, but it only sees text. Use Visual for before/after screenshots of the same UI, and Text for scans, receipts, or captures from different machines.
Usually because the two images are different sizes or were captured at different zoom levels, which shifts every pixel. Check the size warning above the result. Either recapture both at the same dimensions, or switch to Text mode, which does not care about layout. If the images are the same size, raise the sensitivity slider — JPEG compression and font anti-aliasing produce small colour differences everywhere, and a higher threshold ignores them.
It sets how different two pixels must be before they count as a change, measured as a perceptual colour distance. The default of 10% ignores compression artefacts and anti-aliasing while still catching real edits. Lower it to find very subtle changes such as a slight shade difference; raise it when a noisy JPEG or a photo of a screen produces speckle everywhere. Changing it re-compares instantly — there is no need to press Compare again.
Yes, but read the result carefully. The images are aligned to their top-left corner and compared across the area covering both, so anything beyond the edge of the smaller image is reported as changed. That is accurate — content really was added — but it means the changed percentage will be high. For captures at genuinely different sizes, Text mode gives a far more meaningful answer.
OCR is not perfect, and a misread character is indistinguishable from a real edit in a text diff. Common confusions are l/1, O/0, and rn/m. The tool counts how many changed lines were read with low confidence on either side and warns you, so you know which differences to verify against the images. 'Ignore whitespace' is on by default for the same reason — spacing recovered from pixels is not reliable enough to diff on.
It ignores the line breaks the OCR engine produces and rebuilds lines from the word coordinates instead, grouping words that overlap vertically. This matters because text re-wraps when the same content is captured at a different width — trusting the engine's newlines would make every single line look changed. Grouping by position keeps the lines stable so only genuine differences show up.
PNG, JPEG, WebP, BMP, and GIF, in both modes. PDFs are not supported directly — export or screenshot the page you need as an image first. Very large images are compared at reduced resolution to keep memory use reasonable; the result tells you when that happened.