Visual regression testing.
Screenshot testing on EU-owned infrastructure.

Catch unintended UI changes in every pull request. Your CI renders the screenshots — Difora stores, diffs and reviews them on EU-owned infrastructure, operated by an EU company.

Start free 1 project · 5,000 snapshots per month · No credit card
🇪🇺 EU company & EU infrastructure 🇦🇹 Operated from Austria EU-owned screenshot processing and storage

How it works

No browser farm, no new test framework. Keep rendering screenshots with Playwright or Storybook in the CI you already have.

1Render in your CI

Playwright, Storybook or any tool that produces PNG files — your pipeline, your browsers, your versions. Deterministic by design.

2Upload one command

The CLI hashes every screenshot and uploads images missing from the project. Stored identical images are reused.

3Review & approve

Your pull request gets a pass/fail check. Changed snapshots are reviewed side-by-side with a pixel-diff overlay, then approved as the new baseline.

# .github/workflows/ci.yml
- run: npx playwright test          # produces ./screenshots/*.png
- run: npx difora upload ./screenshots
  env:
    DIFORA_TOKEN: ${{ secrets.DIFORA_TOKEN }}

Where screenshots are processed

Your CI sends PNGs to Difora. Comparison, storage and backups run on EU-owned infrastructure. Optional repository and notification integrations receive build metadata. Public PR previews are off by default and, when enabled, may be cached outside the EU by repository image proxies.

UpCloud hosts comparison and the database in Amsterdam, with screenshot storage and backups in Frankfurt. Access uses TLS and private storage. The organization owner reviews the terms and DPA in Agreements before uploading. See the privacy policy for processing, service providers and contact details.

Your CI Playwright / Storybook renders screenshots CLI uploads changed PNGs only (sha-256) TLS European Union — EU-owned providers only API + review app EU data centre Screenshot storage EU object storage, encrypted at rest Diff worker pixel comparison Database EU region Backups EU region Logs metadata only

Compared honestly

Capture, compare, review — the core workflow is shared. Who runs the service and where your screenshots are stored make the difference.

Scroll to compare all providers →

Capability Difora Chromatic Argos Lost PixelArchived
Company jurisdiction Austria · EU United States France · EU Service sunset
Screenshot storage EU only* Provider confirmation requiredSee provider terms US + EU replicaAWS · not EU-only Service sunset
Capture Your CI Cloud browsers Your CI Your CIHistorical tool
Visual review Approvals and diffs Approvals and diffs Approvals and diffs Historical platform
Reviewer discussions Included Included Included Service sunset
Source / status Public CLIPrivate service Hosted service Open-source platform ArchivedApril 2026

*Difora compares, stores and backs up screenshots on EU-owned infrastructure in the EU. Optional public PR thumbnails can be viewed by anyone with the link and cached by repository image proxies outside the EU. Preview-sharing details.

Sources: Chromatic, Argos, Lost Pixel

Sources checked September 19, 2026. Hosting rows describe the managed services. Company jurisdiction and data location are separate. Confirm current plans and data-processing terms with each provider; Chromatic’s public privacy notice states US personal-data processing but does not establish screenshot-specific residency.

Chromatic: company / privacy, review · Argos: hosting / DPA, source / status, review · Lost Pixel · Difora (EN)

Pricing

Simple plans, EUR invoices from an EU company. Start free and choose a paid plan when you need more capacity.

Each submitted snapshot counts once when a build starts comparison, including unchanged images and all shards, against your organization's UTC calendar-month allowance; a new build attempt counts again. Usage and retries.

Free

€0
  • 5,000 snapshots/month
  • 1 project
  • Community support

Indie

€29/month
  • 15,000 snapshots/month
  • Unlimited projects
  • Email support

Team

€99/month
  • 75,000 snapshots/month
  • Unlimited projects & users
  • Priority support

Business

€249/month
  • 250,000 snapshots/month
  • DPA available in Agreements
  • Priority support

Frequently asked questions

Can one project serve several repositories?

We recommend one project per repository. Free includes one project per organization; paid plans allow unlimited projects. Snapshot names share a project namespace, so separate repositories need distinct prefixes, such as site-a/home and site-b/home. Each build must still include the complete suite, or combine it with shards, to avoid reporting the other repository’s snapshots as removals. A project has one repository integration.

Is Difora a Chromatic or Percy alternative?

Yes. Difora offers PNG comparison, baselines, review and optional repository checks. Your CI captures the screenshots; Difora processes and stores them on EU-owned infrastructure. Hosted browser rendering and some collaboration features differ. See the feature overview and the preview-sharing details below.

Where are my screenshots stored?

Screenshot comparison, storage and backups use EU-owned infrastructure in EU data centres. Optional integrations receive build metadata. PR thumbnails are off by default; if enabled, anyone with their URL can view them and repository image proxies may cache them outside the EU.

Which tools does it work with?

Anything that produces PNG files in CI: Playwright, Storybook, Cypress, Puppeteer, Selenium. The CLI uploads only screenshots that changed and adds a pass/fail check to your GitHub pull request.

Is there a free plan?

Yes — 5,000 snapshots per month and one project, no credit card required. Paid plans start at €29 per month (excl. VAT) for teams and agencies.

Do you sign a data processing agreement (DPA)?

Yes. Your organization owner can review and accept the terms and DPA in Agreements before the first upload. The accepted version remains available to download.

Find your visual-testing workflow