Point SnapDiff at your Vercel preview, staging URL, or any two pages — get a pixel diff in seconds. Plus an MCP server so Claude Code, Cursor, and Windsurf can verify their own UI changes before opening a PR.
Three steps. Two minutes. No SDK, no CI/CD, no onboarding call.
Sign up and get your sd_live_ key instantly. No credit card required on the free plan.
Vercel, Netlify, Cloudflare Pages, your staging box, or any HTTPS URL. SnapDiff captures it, stores a baseline, and diffs every subsequent change. No tests to write.
Receive diff percentage, highlighted diff image, and bounding boxes of every changed region.
Baselines, builds, and PR checks. The complete visual regression workflow, accessible from any CI runner.
Group related pages under one project. Each project tracks baselines per branch.
POST /v1/projects
Drop our GitHub Action into your workflow. Each PR triggers a build that diffs your pages against stored baselines — it finds your Vercel preview URL automatically.
corralimited/snapdiff-action@v1
Intentional changes? Approve them and baselines update. Regressions? Reject and block the merge. Full PR status integration.
POST /v1/projects/:id/builds/:bid/approve
Everything you need to compare pages visually. Nothing you don't.
POST /v1/diffSend two URLs, get back a diff percentage + highlighted diff image. No test suite, no CI/CD pipeline. One HTTP request.
POST /v1/watchMonitor any URL on a cron schedule. Get webhooks when it changes visually beyond your threshold. Set-and-forget.
AI coding agents (Claude Code, Cursor, Windsurf) can verify UI changes without opening a browser. One tool call replaces a manual review pass. See how it catches UI drift →
Predictable monthly plans from $19/mo. No per-screenshot billing, no annual contracts, no sales calls. Self-serve from day one.
Auto-hides 40+ cookie consent banners, 20+ chat widgets, and blocks 30+ ad/tracker domains. Clean screenshots every time.
Powered by pixelmatch with antialiasing detection, configurable thresholds, ignore regions, and CSS selector masking.
See SnapDiff catch real changes between two pages. No signup required.
Diffs are the product. Screenshots are just infrastructure.
Evaluate the API
Solo developers
Small teams
Multiple projects
Agencies & platforms
Overage: $0.01/diff, $0.002/screenshot beyond included. Diff screenshots don't count against your screenshot quota.
It catches unintended UI changes by comparing screenshots — a known-good baseline against the current state of the page. Instead of asserting on DOM structure, it compares rendered pixels, which is the only layer where CSS cascade bugs, layout shifts, and broken styles actually show up. SnapDiff does it over HTTP: send two URLs (or a URL and a stored baseline) and get back a diff percentage, a highlighted diff image, and bounding boxes around every changed region.
Yes — that's a core use case. The MCP server gives Claude Code, Cursor, Windsurf, and any other MCP client a snapdiff_verify_ui_change tool, so the agent can check its own UI changes against a baseline before opening a PR. Changed pixels get compared against the agent's stated intent, and the agent gets a verdict it can act on. Full write-up in Catching UI Drift From AI Coding Agents.
No. The minimal setup is one POST /v1/diff request with two URLs. When you want diffs on every pull request, drop the GitHub Action into a workflow — it finds your Vercel preview URL automatically from GitHub's deployment statuses. The only secret you need is your SnapDiff API key.
The stabilization layer auto-hides 40+ cookie consent banners and 20+ chat widgets and blocks 30+ ad and tracker domains before capturing. For content that's legitimately dynamic — dates, live counters, A/B slots — pass ignore_selectors to mask those elements out of the comparison entirely.
A screenshot is one capture of one URL. A diff is the comparison — two captures plus the pixel analysis. Plans meter both, and diff images don't count against your screenshot quota. Past your plan's included volume, overage is $0.01 per diff and $0.002 per screenshot.
Protected preview URLs work by passing headers with the capture — Vercel's protection-bypass header, Cloudflare Access credentials, or basic auth — via the GitHub Action's extra-headers input. For real login flows, the Playwright reporter captures in your own CI runner and uploads the PNGs, so SnapDiff never needs your credentials.
Yes — 200 diffs and 2,000 screenshots a month, no credit card required, with full API and MCP server access included. Paid plans start at $19/month and add watchers and higher limits.
Shape and pricing. SnapDiff points at URLs you already have — preview deployments, staging, a deployed Storybook — instead of instrumenting your build, and every plan is a flat monthly rate instead of a per-snapshot meter. It also speaks MCP, so AI coding agents can run visual verifications themselves.
Setup guides for the three most common SnapDiff workflows.
Claude Code, Cursor, and Windsurf check their work with tests — nothing that renders a pixel. Give them a verification loop over MCP.
One workflow file, one secret. Diff every PR's preview deployment and block merges until someone approves the change.
Loop over index.json with a Playwright reporter and diff every story on every PR — no per-snapshot meter.
Get an API key, make one POST request, see the diff.
No test suite. No CI/CD. No onboarding call.