Visual diff

Two URLs in, three images out: before, after, and an overlay marking every pixel that changed — plus how similar they are. No account, no card.

What this is for

Reading the overlay

Red marks pixels that differ. Yellow marks anti-aliasing the comparison chose to ignore — edges of text and curves render a fraction differently between runs, and counting those as changes would make every comparison look broken.

A similarity of exactly 100% means pixel-identical. Anything in the high 90s on two captures of the same page usually means something animates, a timestamp ticked, or an ad slot filled differently.

Limits, stated plainly

Running it on a schedule

This page compares two URLs once. POST /v1/diff is the same engine with a threshold you control, any viewport, full-page capture, and a response you can fail a CI job on.

curl -X POST https://api.getsnap.dev/v1/diff \
  -H "X-API-Key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{"before":{"url":"https://example.com"},
       "after":{"url":"https://staging.example.com"},
       "threshold":0.1}'

Pair it with scheduled captures and a webhook to get told when a page you do not own changes. A free key is 100 captures a month.

Frequently asked questions

Why does it say two captures?

Because it launches two browsers, one per URL. The hourly budget counts browser launches rather than button presses, so a comparison costs what it actually uses.

Both pages look identical but similarity is 99.4%

Something moved. The usual suspects are a clock, a carousel, a lazily loaded image landing at a different moment, or an ad. The overlay shows you where.

It says the dimensions do not match

One page is taller than the other, so there is no pixel-to-pixel correspondence. Both are captured at a fixed 1280×720 here, so this usually means one page failed to render fully. The API lets you set a viewport and wait for a selector.

Can I compare a page against a screenshot I already have?

Not with this tool — it captures both sides itself. The API accepts two URLs; archive your own captures and compare against a stable URL.