Chromatic alternatives
Visual regression testing beyond Storybook, without the SaaS bill.
@openkova/cli for screenshot capture and pixelmatch for pixel comparison — free, self-hosted, no snapshot limits.What Chromatic does
Chromatic is built by the Storybook team. It integrates with your Storybook setup to capture a snapshot of every story on each commit, compare snapshots against an approved baseline, and surface visual diffs in a web review UI. It also hosts your Storybook build for sharing with stakeholders.
For component-driven development workflows where every UI state is documented as a Storybook story, Chromatic is a polished tool. The constraint is hard: Chromatic only tests what is in Storybook. It cannot screenshot live pages, staging deployments, HTML email templates, or arbitrary URLs.
Where Chromatic falls short
- Storybook-only — Chromatic captures Storybook stories. If a visual regression exists on a live page but not in a corresponding story, Chromatic will not catch it.
- Snapshots go to Chromatic servers — all story snapshots are uploaded to Chromatic infrastructure. No self-hosting option is available.
- Pricing scales with snapshots — the free tier covers 5,000 snapshots per month. Active component libraries with many stories burn through the free tier quickly. The Starter plan is $149/month for 35,000 snapshots.
- Cannot test HTML templates or generated content— OG images, email templates, and server-rendered documents are outside Chromatic's scope.
What you actually need
Visual regression testing has two halves: capture and compare. Chromatic handles both for Storybook stories. For everything else — live staging pages, HTML templates, arbitrary URLs — you need capture and compare tools that work independently of Storybook:
- Capture:
@openkova/cliscreenshots any URL or HTML file using headless Chromium — staging URLs, localhost, HTML templates, Storybook story iframes. No Storybook integration required. - Compare:
pixelmatchorodiff— both MIT-licensed, run in CI, produce diff images highlighting changed pixels.
Comparison
| Feature | Chromatic | Openkova + pixelmatch |
|---|---|---|
| Tests Storybook stories | ✓ first-class | ✓ via iframe URL |
| Tests live pages / URLs | ✗ | ✓ |
| Tests HTML templates | ✗ | ✓ |
| Tests localhost / staging | ✗ | ✓ |
| Hosted review UI | ✓ Chromatic UI | ∼ GitHub PR artifacts |
| Storybook hosting | ✓ | ✗ |
| Self-hostable | ✗ | ✓ |
| Data leaves your servers | ✓ | ✗ |
| Free tier | 5,000 snapshots/mo | Unlimited |
| Starter pricing | $149/mo (35K snapshots) | Free |
| License | Proprietary | MIT |
A minimal setup for testing live pages
# Install dependencies
npm install -g @openkova/cli
npm install --save-dev pixelmatch pngjs
# Capture baselines (run once against known-good state)
kova screenshot https://staging.yourdomain.com --output baselines/home.png
kova screenshot https://staging.yourdomain.com/pricing --output baselines/pricing.png
# Capture current state in CI and compare
kova screenshot https://staging.yourdomain.com --output current/home.png
node scripts/diff.js baselines/home.png current/home.png diffs/home.pngFrequently asked questions
Is there a free alternative to Chromatic?
For Storybook-specific visual testing, Lost Pixel is an open-source option. For testing live pages, staging deployments, and HTML templates — which Chromatic cannot do — @openkova/cli with pixelmatch is free and self-hosted with no snapshot limits.
Does Chromatic work without Storybook?
No. Chromatic is built on Storybook — it captures Storybook stories, not live pages. If your project doesn't use Storybook, or you want to test pages beyond your component library, you need a different tool.
Can I self-host Chromatic?
No. Chromatic is a closed-source SaaS with no self-hosting option. All snapshots are uploaded to Chromatic servers. The self-hosted alternative is @openkova/cli for capture and pixelmatch for diffing — runs entirely on your own infrastructure.
What if I need both Storybook and live page testing?
Use two separate pipelines: Chromatic (or Lost Pixel) for Storybook stories, and @openkova/cli + pixelmatch for live pages. The CLI approach can also screenshot Storybook story iframes directly if you want a single toolchain.
Read the full free setup guide: Visual Regression Testing Without Percy: A Free Setup.