WoluTools

Website Visual Regression Checker

Compare a live page with a new build. You get paired desktop and mobile screenshots, pixel and SSIM diff images and a report that lists every path above your threshold.

Compare two public URLs

Captured for every pathDesktopMobile

Next you choose the paths (up to 25) and confirm the thresholds before anything runs.

3 free jobs a day, no account neededPro: up to 200 a day, €12.99/monthPlans

WHAT YOU GETSample data
Pairs · 24
Threshold failures · 4
Four confirmed routes exceed the visual threshold12 paths, each at desktop and mobile, compared by changed pixels and SSIM.
Pairs
24
Changed pixels
2.84%
Threshold failures
4
  • HTML report
  • Paired screenshots
  • Pixel diff images
  • SSIM diff images
  • JSON data
  • Manifest with file hashes

HOW IT WORKS

Two URLs in, one report out.

  1. 01
    Enter both URLs

    The baseline is the version you trust. The candidate is the one you want to check. Both must be public.

  2. 02
    Confirm paths and thresholds

    List up to 25 paths, one per line. Defaults: pixel tolerance 8, allowed changed-pixel ratio 0.001, minimum SSIM 0.99.

  3. 03
    Review and download

    Pairs above your threshold are listed as errors. Failed jobs are never counted.

Sample report

What a finished comparison looks like.

This example uses fictional data and the same structure as the real export.

✓
Fictional sampleNo real site was captured

Visual QA

Four confirmed routes exceed the visual threshold

Viewport settings, thresholds, failed captures and the mask list are recorded in the report. It does not claim that fonts matched or that the page had finished loading its scripts.

Sample coverage: 12 confirmed paths · desktop and mobile · empty mask list confirmed

  • ErrorLayout change exceeds threshold/checkout/ · mobile · 8.12% changed pixels
  • WarningGlobal SSIM below profile/pricing/ · desktop · 0.9721 versus 0.9900
  • EvidenceDOM and screenshot boundBoth capture hashes and the diff image are recorded
Pairs
24
Changed pixels
2.84%
Threshold failures
4
Show the package contents

HTML report, paired screenshots, pixel and SSIM diffs, JSON and manifest

Engine visual-regression-v1 · rules capture-profile-2026-08-30

Step by step

What happens after you press Compare

  1. Enter the two public URLs.A baseline URL and a candidate URL. Pages behind a login or a consent wall cannot be reached.
  2. Confirm the route list.One path per line, up to 25. Only these paths are captured; query strings and action routes are rejected.
  3. Confirm the thresholds.Per-channel pixel tolerance, allowed changed-pixel ratio and minimum global SSIM. You see the whole job again before it starts, and nothing is counted until you confirm.
  4. Capture and compare.Each path is captured at one fixed desktop and one fixed mobile viewport on both builds, then compared pair by pair.
  5. Download the report.HTML report, paired screenshots, pixel and SSIM diff images, JSON and a manifest that lists a hash for every output file.

Limits of this version

Masking is not available yet: you confirm that no dynamic regions need masking, and the report records the empty mask list. Late-loading fonts, rotating content and animations can show up as differences.

Clear answers

Website Visual Regression Checker FAQ

Which pages get captured?

Only the paths you confirm before the run, up to 25 of them, each captured at one fixed desktop and one fixed mobile viewport. Pages behind a login or a consent wall are not reachable.

How is a difference measured?

Every pair is compared by changed pixels and by SSIM, and a coarse DOM hash records whether the markup moved as well. Pairs above your threshold are reported as errors.

Can I exclude banners and other moving parts?

Not in this version. Before the run you confirm that no dynamic regions need masking, and the report records the empty mask list. If a page needs masking, do not start the comparison.

Why do pages differ when nothing was changed?

Late-loading fonts, rotating content and animation timing all move pixels. The report records viewport settings, thresholds and failed captures instead of asserting font identity or application-ready timing.

What is in the download?

An HTML report, the paired screenshots, pixel and SSIM diff images, the technical JSON and a manifest covering each output hash.

Do I need an account?

No. You get 3 free jobs a day without an account. Pro allows up to 200 jobs a day for €12.99/month or €89.99/year. Failed jobs are never counted.

Available now

Check your next release before it goes live.

Enter a baseline and a candidate URL. 3 free jobs a day, no account needed, or up to 200 a day with Pro.