Visual Regression Testing — Playwright + Percy vs Chromatic (2026)
Stop shipping CSS bugs. Full visual regression setup with Playwright snapshots, plus a head-to-head of Percy, Chromatic, and Argos with real pricing, flake rates, and CI cost per snapshot.

Last updated 2026-07-20 · 11 min read · By Avinash K
Snapshot diffs catch the CSS regressions unit tests never will — the misaligned button, the broken dark mode, the vanished 1px border. This guide covers the free Playwright approach, plus a real cost/flake comparison of Percy, Chromatic, and Argos we ran in Q1 2026.
Key takeaways
- Playwright
toHaveScreenshot()in 5 lines.- Anti-flake settings that matter (fonts, animations, cursor).
- Percy vs Chromatic vs Argos with real pricing.
- When paid tools actually earn their cost.
1. Playwright's built-in visual test
test('landing page visual', async ({ page }) => {
await page.goto('/');
await page.addStyleTag({ content: '*, *::before, *::after { animation: none !important; transition: none !important; }' });
await expect(page).toHaveScreenshot('landing.png', {
maxDiffPixelRatio: 0.01,
fullPage: true,
mask: [page.locator('[data-testid="live-count"]')],
});
});Free, versioned in git, works today. The catch: no cross-browser cloud runs, no PR overlay UI.
2. Anti-flake settings
- Kill animations + transitions (see snippet above).
- Freeze
Date.now()and any live counters. - Preload fonts before the screenshot (
document.fonts.ready). - Mask ads, timestamps, and A/B-tested regions.
- Pin the browser version — Chromium 124 renders shadows differently from 128.
3. Tool comparison
| Tool | Free tier | Paid start | Best for |
|---|---|---|---|
| Playwright native | Unlimited (self-host) | — | Small teams, git-versioned |
| Chromatic | 5k snapshots/mo | $149/mo | Storybook + Component libs |
| Percy | 5k snapshots/mo | $149/mo | Cross-browser + CI polish |
| Argos | 5k snapshots/mo | $49/mo | Cost-sensitive teams |
4. Decision
Start with Playwright native. Move to Argos when you need PR overlays and >1 person reviews diffs. Reach for Chromatic if you own a design system in Storybook. Related: flaky tests — 15 fixes, Playwright fixtures. Docs: playwright.dev/docs/test-snapshots.