🔬 Image Diff Tool
Upload two images to compare them pixel by pixel. Differing areas are highlighted in red. If the images are different sizes, the second is resized to match the first before comparing.
How a pixel is judged different
Both files are decoded on your own machine and read off canvases here; neither is uploaded. Every pixel pair is compared on the three colour channels and the gaps averaged:
diff = (|Ar-Br| + |Ag-Bg| + |Ab-Bb|) / 3
marked red when diff > threshold (default 30)
Grey #808080 against #8F8F8F gives a diff of 15 and passes; against #A0A0A0 it gives 32 and is flagged. Matching pixels are redrawn as a faded grey ghost of image A so the red stands out, and the tally at the top is the flagged count over the total.
Getting a usable comparison
- Image A sets the canvas. B is stretched to A's width and height, so a different aspect ratio is squashed rather than padded and almost everything lights up red.
- Alignment matters more than the threshold. Shift a screenshot by one pixel and every edge in it registers as a change.
- The alpha channel is ignored - two pixels of the same colour differing only in opacity count as identical.
Frequently asked questions
How do I compare two images to spot the differences?
Load one in each slot. The result shows a red overlay of every changed pixel over a greyed copy of image A, plus the count and the percentage of the frame that moved.
Why is my whole image showing as different?
Usually the two pictures are not the same shape. B is scaled to fit A's dimensions, and that resample shifts nearly every pixel. Crop both to matching dimensions before comparing.
What does the percentage mean?
Flagged pixels divided by the total pixel count, to two decimals. A 1920x1080 screenshot has 2,073,600 pixels, so 0.50% is about 10,368 of them - a small block of changed text rather than a redesign.