UI Verify vs Chromatic: the AI-judge alternative
The self-serve Chromatic alternative: same screenshot diffing, agent review over MCP, an AI judge that labels each change, and twice Chromatic's free tier.
Chromatic pioneered Storybook visual testing, and UI Verify does the same core job: render every state, diff it against a baseline, and gate the pull request on review. Here is where the two differ, stated plainly. For the wider landscape, see visual regression testing tools compared.
UI Verify vs Chromatic at a glance
| Capability | UI Verify | Chromatic |
|---|---|---|
| Free tier / month | 10,000 snapshots (50,000 for open source) | 5,000, Chrome only |
| Multi-browser on the free tier | Chrome, Firefox, Safari (Storybook) | Chrome only |
| AI diff triage | AI judge, regression vs intended | None |
| Agent review over MCP | Reads diffs, accepts baselines | Storybook context only |
| Comment on a diff | Pixel-region threads, human and agent | Threaded discussion per snapshot |
| Published, permalinked Storybook | Live per-branch and per-build URLs | Versioned permalinks |
| Inherited-change detection | Yes, labeled with its source PR | No label; an opt-in flag prefers main's baseline |
| Interaction tests run before capture | Yes | Yes |
| Automatic flake detection | Yes | Yes |
| Per-snapshot overage | $0.004 | 2x higher |
What do UI Verify and Chromatic have in common?
- Per-story screenshot capture in a real browser, diffed pixel by pixel against a per-branch baseline.
- A check and a comment on every pull request, with a review queue to accept or reject each change.
- Team review on each change - a designer, PM, or engineer comments on the diff, replies, resolves, and approves or rejects it before it merges.
- A published Storybook on every build - both re-host a browsable, permalinked Storybook you can share or point a test-runner at.
- Storybook as a first-class capture path - your existing stories are the tests.
- Skip-unchanged builds so a small PR does not re-render your whole Storybook.
- Automatic flake filtering - a change that does not reproduce on a re-render is auto-ignored, as on Chromatic.
- Interaction tests run before the snapshot - your story's play() function executes and must pass, so you capture the settled, interacted state.
- Ignore regions - mark a dynamic element and its pixels drop out of the diff: `data-uiverify-ignore` on UI Verify,
data-chromatic="ignore"on Chromatic.
How is UI Verify different from Chromatic?
- An AI judge that triages each change. Turn it on for a project and UI Verify labels each diff a likely regression or an intended change with a reason, and likely regressions sort to the top of your queue. The check holds the pull request until every change is reviewed, so a real regression cannot merge behind a green check. Chromatic has no diff-triage AI - its AI feeds Storybook component context to help write UI. See the AI judge.
- Review from your coding agent over MCP. UI Verify exposes each build's exact per-story diffs and the judge's verdicts over the Model Context Protocol, and lets an agent accept the intended changes - so Claude Code or Cursor can clear a review without you opening a dashboard. Chromatic's MCP serves Storybook component context for writing UI; it does not hand over diffs or accept baselines. See Triage with your agent.
- Comments anchored to the exact pixels, with your agent in the thread. A reviewer drops a comment on a point or drags a box around the region that moved, and your coding agent can read and answer those threads over MCP - so the human note and the agent's triage live on the same diff. Chromatic's discussion is per snapshot. See collaborative review.
- Inherited detection tells your change from an inherited one. When a story you did not touch comes back changed, UI Verify checks whether that exact rendering already appeared earlier in your branch's history and labels it inherited, pointing at the branch and PR it came from - so you are not asked to review someone else's change against a stale baseline.
- A bigger free tier. UI Verify includes 10,000 snapshots a month on the free tier, or 50,000 for an open-source project; Chromatic's free tier is smaller and renders Chrome only. Higher volumes are metered per snapshot on both.
- Determinism handled for you. UI Verify neutralizes the common sources of false diffs at capture time - a seeded
Math.random, cross-origin fonts inlined, images fetched once and cached, a hermetic network, andprefers-reduced-motion- so a re-run does not flake on a font swap or a random layout. See Fix flaky visual tests. - Archive-replay of your existing tests. UI Verify captures Storybook stories, Playwright pages, and Vitest browser-mode components by replaying an archive of the run - the same tests you already have, no separate visual SDK to author. See the Vitest and Playwright quickstarts.
When is Chromatic the better choice?
- Accessibility checks in the same run. Chromatic runs axe accessibility checks alongside the visual snapshot on every plan, each check billed as one extra snapshot, per its accessibility launch post (checked 2026-10-17). UI Verify does not run accessibility checks.
- Microsoft Edge. Chromatic renders Edge on top of Chrome, Firefox, and Safari (extra browsers on its paid tiers); UI Verify renders Storybook stories in Chrome, Firefox, and Safari, and Playwright and Vitest captures in Chrome.
Is UI Verify cheaper than Chromatic?
Yes. UI Verify's free tier is larger than Chromatic's, and its per-snapshot rate over the plan is lower (Chromatic's pricing page, checked 2026-10-17). The free tier is 10,000 snapshots a month (50,000 for open-source projects), paid plans start at $89 a month for 30,000 snapshots, and overage is $0.004 per snapshot. The cost lever is the same on either tool: render fewer stories. Two patterns - dense gallery stories and data-driven states - cut a component's snapshot count up to 10x with the same coverage, and skipping unchanged stories, on by default when you build Storybook with --stats-json, leaves out the stories a pull request does not touch. See Reduce visual test snapshots and cost and cutting a Chromatic bill 10x.
Is UI Verify a drop-in Chromatic alternative?
Yes. Your existing Storybook stories are the tests, and UI Verify reads your existing parameters.chromatic config - disableSnapshot, delay, modes, and viewports - so those settings carry over without edits. Point your CI at UI Verify and you keep the visual diff and PR gate you have today, plus an AI judge that triages each change and agent review over MCP on top.
How do I migrate from Chromatic to UI Verify?
It is mostly a CI swap, not a rewrite. Your stories stay exactly as they are: UI Verify reads the same parameters.chromatic config you already have - disableSnapshot, delay, and the Modes API (per-mode theme and viewport) - and skips unchanged stories the way Chromatic's TurboSnap does, from the same --stats-json dependency graph, by default. Replace the Chromatic step in your CI with the UI Verify upload step, build Storybook with --stats-json, open a pull request, and your baselines build from there. See interaction testing for how your play functions carry over too. The one exception is ignored regions: UI Verify does not read data-chromatic="ignore", .chromatic-ignore, or parameters.chromatic.ignoreSelectors, so put `data-uiverify-ignore` on each element they matched.
Does UI Verify need Storybook like Chromatic?
No. UI Verify also captures Vitest browser-mode components and real pages driven by Playwright through archive-replay, so you can visually test a Next.js app or a staging URL without a Storybook. Chromatic likewise captures Playwright, Cypress, and Vitest tests (its docs, checked 2026-10-17), so neither tool is Storybook-only.
Set up visual testing
From no visual tests to a green check on every pull request.
How I cut my Chromatic bill 10x (works on any visual testing tool)
Visual regression tools bill per snapshot, so story count is the bill. Two changes to how I write stories cut mine roughly 10x, same coverage, on Chromatic or any per-snapshot tool. Here they are.
Visual testing for agents
UI Verify is visual regression testing for Playwright, Storybook and Vitest. Your coding agent sees what its UI change did and fixes it before users see it. See how it works.
Get started