Diffy vs Happo: Happo Alternative for Live Websites
Happo is a cross-browser screenshot testing service built by Henric Persson and Joe Lencioni. It takes the components and pages from your Storybook or test suite, renders them in real browsers, from Chrome to iOS Safari, and flags what changed on each pull request. Diffy screenshots the pages of a deployed website, on production, staging or development, and shows the differences in a review UI built for whole sites. Both are good at what they do. The question is whether you’re testing a codebase or a website.
What each tool needs from you
Happo runs from your repository. You install the happo npm package, add a happo.config.ts file with your API key and the browsers (“targets”) you want, and run npx happo in CI. Happo integrates with Storybook, Cypress, Playwright and Vitest, takes custom bundles, and has a Pages integration for existing websites. With Pages, you list URLs and titles in the config file and Happo’s workers screenshot them. Happo’s docs say those URLs need to be publicly available, otherwise its workers can’t reach them. For each page you can wait for some text or a selector before the screenshot.
Diffy runs from a browser tab. You create a project, paste the addresses of the pages you care about, pick breakpoints and press a button. Diffy’s workers load each page in Chrome or WebKit and capture it. Logins, elements to hide, content to mock, cookies, headers and a schedule are settings on the project page. There’s no repository, config file or CI job unless you want one. The CLI, API and CI integrations are there when you want automation.
If your UI lives in a Storybook or a test suite that developers own, Happo fits into that workflow. If you’re responsible for a Drupal, WordPress or headless website and want to know whether it still looks right, without a repository-based setup, read on.
Pricing
Happo
| Plan | Snapshots per month | Price | Browsers |
|---|---|---|---|
| Free | 5,000 | $0 | Chrome |
| Starter | 50,000 | $149/mo | Chrome, Firefox |
| Growth | 150,000 | $399/mo | Chrome, Firefox, Safari |
| Pro | 300,000 | $749/mo | Chrome, Firefox, Safari, iOS Safari, Edge |
| Enterprise | 1,000,000 and up | Custom | All browsers |
Extra snapshots on paid plans cost $0.006 each, and you can set a budget limit. The free plan is never billed: it pauses at the limit. Every plan, the free one too, includes unlimited users, unlimited concurrent runs, accessibility testing, animation testing, and the API and MCP server. Annual billing is available on Pro and Enterprise.
Diffy
| Screenshots per month | Billed annually | Month-to-month |
|---|---|---|
| 500 (Free) | $0 | $0 |
| 2,000 | $67/mo | $80/mo |
| 8,000 | $125/mo | $150/mo |
| 30,000 | $250/mo | $300/mo |
Team members are included on every Diffy plan. Paid plans add the API and CI automation, development and custom environments, and 6 months of history (1 month on the free plan).
Per snapshot, Happo is cheaper at volume, and its free tier is ten times larger than ours. We’d rather say that plainly.
How Happo counts. Happo’s own estimate is components (or test screenshots) × targets × runs. Each browser is a target, the accessibility check is a target, and a target in dark mode or at another size counts too. An animated snapshot counts as three. A run is usually one per push to a pull request or to main. For Storybook, partial runs render only the stories a pull request touched, which Happo says cuts snapshot use by about 65%.
How Diffy counts. One page at one breakpoint is one screenshot, and you run when you choose: on a schedule, before a deployment or from CI. A 20-page site at three breakpoints, compared daily, is about 1,800 screenshots a month, which is the $67 plan.
Browsers. Happo tests in real Chrome, Firefox, Edge, Safari and iOS Safari, with Firefox from $149 and Safari from $399. Diffy captures in Chrome and WebKit, Safari’s rendering engine, on every plan from $67. WebKit catches most Safari-specific layout problems, but it isn’t the same as testing in Safari itself. If you need real Safari, Edge or iOS Safari, Happo is the stronger choice.
Happo prices as published on happo.io/pricing in October 2026. Check both pricing pages before you commit, everyone changes prices eventually.Branches vs environments
Happo is organised around Git. In CI, it finds the baseline by starting at the merge base of the pull request branch. You run it on pushes to the default branch so baselines exist. It posts a status to the pull request: failure when there’s a diff, success once the changes are accepted. It supports GitHub, Bitbucket and Azure DevOps, with GitLab marked experimental.
Diffy is organised around environments. Production, staging and development are first-class, and the questions it answers are about deployed sites:
- Does staging still match production before we go live?
- Did anything on production change overnight, without a deploy? Scheduled runs compare a site against itself over time.
- Does this Pantheon multidev, Upsun or Tugboat preview match production?
- Did the core, plugin or module update we just applied move anything on the site’s templates?
CMS updates often have no meaningful commit behind them: a plugin updated from the WordPress admin, or a composer update on a server. A Git-first tool has nothing to hang that comparison on, and that’s the case Diffy was built for. See Drupal and WordPress visual regression testing.
Handling real-world pages without writing code
Stories and test fixtures are controlled renders, so noise is mostly solved before Happo sees them. A deployed page has a login, a news feed, ads, a carousel and a date in the footer. In Diffy those are settings in the UI:
- Log in before the screenshot, with presets for Drupal, WordPress and Netlify, plus a custom option.
- Mock dynamic content by giving Diffy selectors whose contents get replaced with placeholder text.
- Remove or mask elements. Embedded videos and maps are masked by default.
- Inject CSS or JavaScript, set HTTP headers, cookies and a custom User-Agent.
- Any breakpoint from 240px to 2000px. Retina and dark mode are checkboxes.
- Vertical shifts. Diffy’s own comparison algorithm recognises content that moved down, so one taller header doesn’t light up the whole page.
- Local and private sites. DDEV, Lando and Docksal add-ons capture your local site on your machine and upload the screenshots for comparison.

Reviewing changes
Happo’s review shows each diff side by side, as a diff or as a swipe, with keyboard shortcuts. Reviewers accept or reject changes, diffs below a noise threshold are filtered out, and flaky diffs can be ignored.
Diffy’s review is built for a whole site at once:
- Thumbnail view, with approval directly from the thumbnails
- The same change grouped across every screenshot it appears in, so a header change on 200 pages is one decision, not 200
- Approve a single change, a screenshot, or a page across all breakpoints
- Shareable links that work for people without a Diffy account
- An AI summary of what changed in the comparison, which can also be posted to Slack

Where Happo is the better fit
- Real browsers. Chrome, Firefox, Edge, Safari, and iOS Safari on iPhone and iPad. Diffy runs Chrome and WebKit only.
- Component libraries. Storybook, Playwright, Cypress and Vitest integrations, with partial runs that only render what a pull request touched.
- Accessibility and animation testing on every plan. Happo runs axe-core as a target, and new violations block approval. It also compares animations frame by frame. Diffy does visual comparison only.
- Unlimited users and a bigger free tier. 5,000 snapshots a month free, with no seat limits on any plan.
- Native apps. iOS and Android screenshots from XCTest, Espresso and other runners can be uploaded through Happo’s API. Diffy tests web pages only.
- Code hosts. Pull request statuses on GitHub, Bitbucket and Azure DevOps. Diffy has native checks on GitHub and GitLab, and runs from any other CI through its CLI.
Try it
Create an account, paste your URLs and run your first comparison. Most teams have real results within 10 minutes, and there’s nothing to uninstall if it isn’t for you.
Start free: 500 screenshots a month
New to the approach? Visual regression testing explains how it works. Comparing other tools too? See Diffy vs Chromatic, Diffy vs Argos and Percy alternatives.