Image Diff
Compares two images pixel by pixel and highlights what changed, with a perceptual difference score.
Two screenshots that should be identical, and the question of whether they are. A changed-pixel count alone cannot answer it — antialiasing changes thousands of pixels and means nothing — so this reports SSIM and DSSIM beside it, and gives you four ways of looking at the difference.
Drop the “Before” image
Any format the browser can decode.
Drop the “After” image
Any format the browser can decode.
How to use it
Drop the before and after
Different sizes are accepted: both are padded to the union with transparency, so the overlap is compared properly and the non-overlap shows up as a difference — which it is.
Set the tolerance
Measured in YIQ, so a luminance change counts for roughly 2.5× a hue change of the same size — which is how the eye ranks them. At 0 a single code value anywhere is a failure.
Read the two kinds of number together
2% of pixels changed with SSIM 0.999 is antialiasing. 2% with SSIM 0.94 is something moving.
Use the wipe for small shifts
It puts the two versions in the same retinal position, which is the only way a sub-pixel shift becomes visible — the eye cannot carry that much detail across the saccade a side-by-side comparison needs.
Common questions
What is a good SSIM?
Above about 0.99 the two images are the same picture with rendering noise between them. Below 0.95 something actually differs. There is no universal threshold; compare against a known-good pair from your own pipeline.
Why does DSSIM differ from SSIM?
DSSIM does the same structural comparison in L*a*b* across five scales, so a colour-only change counts and a difference at one zoom level does not hide behind another. Where they disagree, the change is colour rather than structure.
Can I use it for visual regression testing?
For looking at a failure, yes — that is what the four views are for. For running the comparison in CI you want the same arithmetic in your test runner rather than a browser tab.
Feed it from
PDF Compare
Diffs two PDFs both as text and as rendered pixels, listing insertions, deletions and moves.
PNG Compressor
Quantises the palette and rewrites the deflate stream to shrink a PNG without changing its dimensions.
JPEG Compressor
Re-encodes a JPEG at a chosen quality with a live before/after size and a difference view.
WebP Converter
Converts images to or from WebP, with a quality slider and lossless mode.
Next
These accept what this tool produces, so the result can go straight in.
Image Cropper
Crops to a freeform or fixed-ratio region and can auto-trim uniform or transparent borders.
PDF Compare
Diffs two PDFs both as text and as rendered pixels, listing insertions, deletions and moves.
PNG Compressor
Quantises the palette and rewrites the deflate stream to shrink a PNG without changing its dimensions.
Background Remover
Keys out a flat or single-colour background in OKLab and returns a transparent PNG, with a brush for fixing the edges.
EXIF Remover
Strips camera, GPS and editing metadata from photos while leaving the pixels untouched.
Favicon Generator
Produces the whole favicon set — ICO, PNGs, Apple touch icon, web manifest — plus the HTML to paste.