Back to Blog

The Best Visual Regression Testing Tools in 2026

Open-source and hosted visual regression testing tools compared on price, free tiers and what they actually screenshot. Every figure from the vendor's own page.

Yuriy Gerasymov
Yuriy Gerasymov
23 Sept 2026 · 10 min read

Visual regression testing tools come in a few very different shapes, and the right one depends less on the diff algorithm than on who has to review the results. Below is the current landscape, with every price and free-tier figure taken from the vendor’s own pricing page or repository in September 2026.

Two projects that still show up in older listicles are gone, so check before you adopt: Wraith was archived by the BBC on 16 January 2026, and Lost Pixel was archived on 22 April 2026 with its team joining Figma.

First, decide what you are testing

Most bad tool choices come from skipping this. There are three genuinely different kinds of product here, plus one that isn’t visual regression testing at all.

  • Code-based, open source. You write the config or the test, screenshots run on your machine or in CI, baselines are files you keep. Free, unlimited, and yours to maintain.
  • Test-suite bound, hosted. The tool hooks into Playwright, Cypress, Selenium or Storybook, and the comparison and review happen in the vendor’s cloud. Good if you already have a test suite and a component library.
  • URL-based, hosted. You give the tool a list of URLs. No test code, no repository. This is what you want for whole websites, CMS updates and client work, where the person reviewing changes may not be a developer.
  • Website change monitoring. Visualping and Pagescreen belong here. They watch pages for changes and alert you, but they are built for competitor tracking and price watching, not for catching a regression before release.

Quick comparison

ToolTypeFree tierCheapest paid plan
DiffyHosted, URL-based500 screenshots/month$67/mo billed annually, 2,000 screenshots
PlaywrightCode, open sourceUnlimited (Apache-2.0)—
BackstopJSCode, open sourceUnlimited (MIT)—
reg-suitCode, open sourceUnlimited (MIT)—
ArgosHosted, test-suite boundUp to 5,000 screenshots$100/mo, 35,000 screenshots
PercyHosted, test-suite bound5,000 screenshots/month$199/mo billed annually, 10,000 screenshots
ChromaticHosted, test-suite bound5,000 snapshots/month$179/mo, 35,000 snapshots
ApplitoolsHosted, test-suite boundTrial only$667/mo paid annually
Sauce Labs VisualHosted, inside a device grid28-day trial$149/mo billed annually, 500 snapshots/mo
TestMu AI SmartUIHosted, inside a device grid2,000 screenshots lifetime$199/mo billed annually, 15,000/mo
Ghost InspectorHosted, E2E recorder14-day trial$109/mo billed annually
Visualping / PagescreenChange monitoring150 checks/mo / trial only$14/mo / €14.90/mo

Diffy

Diffy is ours. It is URL-based: you paste URLs or import them from a sitemap, pick breakpoints, and compare two environments or the same site before and after a change. No test suite, no plugin, nothing installed on the site.

  • Free plan: 500 screenshots a month, production and staging environments, all the screenshot-stabilising settings (masking, cookies, headers, injected CSS and JavaScript, mock content, login), one month of history.
  • Paid: from $67/month billed annually ($80 monthly) for 2,000 screenshots, adding CI and API access, more environment types and six months of history. See pricing.
  • Comparison: our own algorithm recognises that a block of content moved down the page and highlights the element that caused the shift, rather than flagging everything below it. Pixel-perfect comparison is available when you want every pixel checked.
  • Breakpoints and browsers: any widths from 240px to 2000px, Chrome or WebKit.

Where Diffy is the wrong choice, plainly: it does not test components in isolation, so a design system in Storybook is better served by Chromatic. It has no native mobile app testing, which Sauce Labs and Applitools do have. It renders in Chrome and WebKit, so if you need Firefox or Edge coverage, Percy, Chromatic and the device grids cover more. And if you want unlimited screenshots and don’t mind maintaining baselines yourself, Playwright or BackstopJS cost nothing.

Open source

Playwright’s built-in screenshot assertions

If you already run Playwright, you already have visual testing: await expect(page).toHaveScreenshot(). It is Apache-2.0, and it is actively maintained: the stable release shipped on 4 September 2026.

The capture options are genuinely good and often better than people expect from a free tool. mask takes an array of locators and covers each with a box, animations defaults to "disabled" and stops CSS animations and transitions, and sensitivity is tunable with threshold (default 0.2), maxDiffPixels and maxDiffPixelRatio. Comparison is a pixel diff.

The catch is in Playwright’s own documentation: “Browser rendering can vary based on the host OS, version, settings, hardware, power source (battery vs. power adapter), headless mode, and other factors.” Baselines are named per browser and platform for that reason, which is why a baseline made on a Mac won’t match a Linux CI run.

Best for: developers with a Playwright suite who want unlimited screenshots and no vendor. Watch out for: baselines in your repository, and the environment discipline needed to keep them stable.

BackstopJS

The classic URL-based open-source option, MIT licensed. You describe scenarios in backstop.json, then run backstop test and backstop approve. Comparison is Resemble.js with a misMatchThreshold (default 0.1), and it has the practical settings a real site needs: hideSelectors, removeSelectors, delay, onReadyScript, clickSelector. It can drive Puppeteer (Chrome) or Playwright (Chromium, Firefox, WebKit).

One thing to check before adopting: its last npm publish was 6.3.25 in September 2024, and the GitHub releases page stops at v5.0.2 from 2023. The repository is not archived and there is no unmaintained notice, but that is two years without a release. We could not find an official explanation for the gap.

Best for: developers who want URL-based testing without a subscription.

reg-suit

reg-suit is MIT-licensed and does the half of the job the others bundle: it does not take screenshots. You point it at a directory of images your own tooling produced, and it handles comparison, baseline storage in your S3 or GCS bucket, an HTML report and notifications to GitHub, GitLab or Slack. Baselines are chosen from your git history with a key-generator plugin.

Best for: teams that already generate screenshots and want git-aware baselines without paying per screenshot.

Argos

Argos is the interesting middle ground: MIT-licensed code, but in practice a hosted service — its own docs say self-hosting “is not officially supported or documented”. You upload screenshots from your existing Playwright, Cypress, Storybook, Vitest, Puppeteer or WebdriverIO run and review them on the pull request.

Its comparison is refreshingly plainly described: “deterministic pixel diffing, not AI-based visual comparison”, built on the open-source odiff library, with several diff passes at different thresholds and pixel clustering to separate noise from real change. Free tier is up to 5,000 screenshots; Pro starts at $100/month with 35,000 screenshots included and $0.004 per extra one.

Best for: developer teams that want pull-request review without a marketing-grade price.

Hosted, bound to your test suite

Percy (BrowserStack)

Percy does something different from everything else here: the SDK serializes the DOM in your test run and Percy renders it server-side, with JavaScript disabled by default because “JavaScript has already executed and modified the page before the DOM is captured” (docs). That makes rendering consistent, and it also means what Percy renders is not always what a browser would do live.

It offers three diff modes — content, layout and detail — with Strict, Recommended and Relaxed sensitivity (docs). You do not strictly need a test suite: percy snapshot accepts a snapshots file, a static directory or a sitemap URL.

Free tier is 5,000 screenshots a month with unlimited users. The first paid tier is $199/month billed annually for 10,000 screenshots, and each browser counts as a separate screenshot, so a two-browser run halves your allowance. We could not find a published data-retention period or overage rate.

Best for: teams already on BrowserStack, or running Selenium, Cypress or Puppeteer suites.

Chromatic

Made by the Storybook team, and the natural choice if your UI lives in Storybook — though it also supports Playwright, Cypress and Vitest browser-mode tests, so Storybook is no longer a requirement. Its own docs describe the comparison as “pixel diffs between the new snapshot and the previous baseline snapshot”, with no AI claim attached, which we appreciate.

Free is 5,000 billed snapshots a month on Chrome only. Starter is $179/month for 35,000 snapshots across Chrome, Firefox, Safari and Edge, billed monthly — there is no self-serve annual option. TurboSnap reduces usage by copying snapshots for tests your commit didn’t affect. Data retention is guaranteed for at least 12 months on all plans.

Best for: component libraries and design systems, especially in Storybook.

Applitools

The most enterprise-priced option here, and the loudest about AI. Eyes captures a DOM snapshot in your test and renders it across environments in the Ultrafast Grid; Applitools describes the comparison as working “at a perceptual level rather than pixel by pixel, so only meaningful UI differences are flagged”. They also advertise “99.999% Visual AI precision” — that is their figure, published without a linked methodology, so treat it as a marketing claim rather than a benchmark.

There is no advertised free plan, only a trial. Starter is $667/month paid annually for 100,000 component checkpoints or 1,000 page checkpoints; everything above it is contact-sales. Their terms of service also state a cap of “up to 1,000 Checkpoints per month, unless set forth otherwise in the Order Form”, which we could not reconcile with the pricing page — worth asking about before signing.

Best for: large QA organisations with budget, many browsers and native apps in scope.

Hosted, inside a cross-browser grid

Sauce Labs Visual Testing

Visual testing bundled into Sauce Labs’ browser and real-device cloud, so the pitch is coverage: web, mobile web and native apps in one place. Comparison is described as side-by-side snapshots matched to a baseline by metadata such as name, browser, OS and device.

There is no permanent free tier, just a 28-day trial. The cheapest plan that actually includes visual testing is Virtual Device Cloud at $149/month billed annually, and it includes 500 snapshots a month — which is not many, and we could not find a published price for extra snapshots.

Best for: teams that need a device cloud anyway and want visual checks inside it.

TestMu AI SmartUI (formerly LambdaTest)

Worth knowing: LambdaTest rebranded to TestMu AI on 12 January 2026, same team and infrastructure, and existing logins keep working. SmartUI is still the product name.

Free is 2,000 screenshots — “valid for lifetime”, a one-off allowance rather than a monthly one. SmartUI Visual Regression starts at $199/month billed annually for 15,000 screenshots a month. They claim their AI diffing cuts false positives “up to 95%”; again, a vendor figure without published methodology.

Best for: teams that want visual testing attached to a large browser and device grid.

Ghost Inspector

Primarily a no-code functional test recorder, with visual comparison as a feature rather than the point. Screenshot comparison is a pixel-by-pixel check against the last passing screenshot, with a tolerance from 0% to 90%, CSS-selector exclusions and per-browser baselines. It compares a maximum area of 1920 × 20000 pixels.

No free tier, a 14-day trial, and Starter at $109/month billed annually for 10,000 test runs and 5 team members.

Best for: teams that want recorded user-flow tests first and visual checks second.

Change monitoring, not regression testing

Visualping and Pagescreen both compare a page over time and alert you, and both are built for business users watching competitors, prices and regulatory pages — not for developers verifying a release. Visualping has a genuine free tier (150 checks a month, 5 pages, hourly at best) and paid plans from $14/month. Pagescreen has no free plan, a 14-day trial, and Pro at €14.90/month for 1,000 captures. Neither publishes a baseline-approval workflow or CI integration of the kind a release process needs.

If what you actually want is “tell me when this page changes”, they are the right category. If you want “tell me what my deploy changed”, they are not.

How to choose in one minute

  • You have a Playwright suite and no budget → Playwright’s toHaveScreenshot().
  • You have a component library in Storybook → Chromatic.
  • You have a test suite and want PR review, cheaply → Argos.
  • You test whole websites, CMS updates or client sites, and non-developers review the results → Diffy, or BackstopJS if you’d rather self-manage.
  • You need native mobile apps and a big browser matrix → Sauce Labs, TestMu AI SmartUI or Applitools.
  • You want alerts when someone else’s page changes → Visualping or Pagescreen.

Whatever you pick, the thing that decides whether visual testing survives contact with your team is not the diff algorithm — it’s whether the runs are quiet. A suite that flags carousels and cookie banners every time gets ignored within a week. Our guide to fixing false positives applies whichever tool you choose, and what visual regression testing is covers the basics if you’re starting from scratch.

Try Diffy free — 500 screenshots a month, no credit card.

Detailed head-to-head comparisons: Diffy vs Playwright · Diffy vs BackstopJS · Diffy vs Percy · Diffy vs Chromatic · Diffy vs Applitools · Diffy vs Ghost Inspector · Diffy vs Sauce Labs · Diffy vs Nightwatch · Diffy vs Visualping · Diffy vs Pagescreen

Related Articles

More guides on visual regression testing, QA automation, and keeping your site pixel-perfect as it changes.