What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Storybook visual regression testing captures each story’s rendered pixels and compares them with an accepted baseline. Add the official @chromatic-com/storybook addon, establish an initial baseline in Chromatic, review changes locally and in CI, and accept only the visual updates your team intends to ship. A visual pass is useful evidence about appearance; it does not prove that interactions work or that a component is accessible.
What Storybook visual regression testing checks
A Storybook story records a component in a particular state: for example, a button’s disabled state, a form with validation errors, or a menu that is open. Visual testing captures the rendered pixels for those states and compares later captures against accepted baselines. Storybook describes the method as comparing “the rendered pixels of every story against known baselines.” Storybook visual testing documentation
A difference is a signal for review, not an automatic verdict that something is broken. A changed font, spacing rule, or component implementation can create a diff even when the change is intentional. Review it, then either accept the new appearance as the baseline or correct the unintended change.
Visual tests and snapshot tests are different
In this context, a visual test compares rendered pixels. A markup snapshot test compares rendered markup, such as an HTML blob. Markup can change without the visible result changing, which may create a snapshot failure that is not a user-visible regression. Conversely, a pixel diff reveals a rendered appearance change but does not explain its cause.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute| Check | Compares | What a failure tells you |
|---|---|---|
| Visual regression test | Rendered pixels against an accepted visual baseline | The story’s appearance differs and needs review. |
| Markup snapshot test | Rendered markup against stored markup | The markup differs; inspect whether the change matters to output or behavior. |
| Interaction test | Expected behavior as a user or script interacts with a component | An action or resulting state did not meet the test’s assertion. |
| Accessibility test | Configured accessibility rules against rendered content | A configured rule reported an issue; a passing result is not a complete accessibility review. |
Prepare stories that make useful visual tests
Coverage depends on which component states have stories. A baseline for a default button does not cover its loading, disabled, or destructive states. Before enabling comparisons, decide which visible states matter to users and represent them as separate, reproducible stories.
- Include meaningful variants: empty, populated, loading, error, disabled, expanded, and other states your component supports.
- Use stable, representative content. Avoid values that change on every run, such as the current time, random identifiers, or data fetched from a changing service.
- Make setup deterministic: provide the props and state needed to show the target appearance instead of relying on a previous story or manual browser action.
- Consider important layout contexts, such as narrow and wide viewports, where responsive behavior changes the output.
Visual coverage is only as complete as the stories you capture. A green result does not tell you about states that have no story.
Add Storybook’s visual testing integration
Storybook’s current visual-testing guidance uses the official @chromatic-com/storybook addon, maintained by Storybook maintainers. Its setup and test integrations can change over time, so check the current documentation and your Storybook version before copying commands into a project. Visual testing setup
- Check your project and version. Identify the Storybook framework and version in use before choosing test integrations. In particular, Vite-based projects should consider the Vitest addon path described below.
- Install the official addon using the current CLI instructions. Follow Storybook’s visual-testing setup rather than relying on an older guide’s package or configuration.
- Connect a Chromatic project. Link the Storybook project to a Chromatic account/project using the current setup flow. The service captures stories and establishes the initial visual baseline.
- Run the first capture and review it. Treat this as the starting point, not proof that the screens are correct. Check that the stories show the expected states before accepting their appearance as the reference.
- Run visual tests during development. Use Storybook’s visual test panel or testing widget to find changed stories and inspect their diffs.
- Resolve each difference. Accept a change when the new appearance is intended; otherwise fix the component, styles, or story setup and capture again.
See Chromatic’s quickstart for the service’s current project setup and baseline workflow.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Choose the test integration that fits your framework
The integration choice is version- and framework-sensitive. Storybook’s current documentation says the test runner has been superseded by the Vitest addon for Vite-powered frameworks, with the addon using Vitest browser mode. Do not assume an older test-runner tutorial is the recommended route for a current Vite project. Check Storybook’s latest test integration documentation against your framework and installed version.
For Vite-powered Storybook projects
Start with the Vitest addon guidance. Storybook says it supersedes the test runner for this framework family and offers the same functionality powered by Vitest browser mode. Confirm the supported versions and installation steps in the current docs before changing configuration.
For other frameworks or existing projects
Check the current Storybook test-integration documentation for the framework-specific path and compatibility. An existing project may have a working integration that does not need an immediate migration; weigh its supported status and upgrade plan rather than changing tools solely because an older name appears in a guide.
Review diffs without blocking intentional work
When a test reports a difference, inspect the affected story and ask whether the visible change matches the code change’s intent. A font update, redesigned spacing, or corrected color may be expected. An unexpected missing element, shifted layout, or changed state may indicate a regression or a story that no longer sets up the intended case.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Open the changed story and inspect the rendered result alongside its baseline and highlighted diff.
- Trace the difference to the component, styling, assets, or story data that could have changed it.
- If the change is intentional, accept the new visual result as the baseline through the review workflow.
- If it is not intentional, fix the implementation or make the story deterministic, then rerun the capture.
Keep baseline acceptance as a deliberate review decision. Automatically accepting every changed capture would remove the comparison’s value.
Run visual checks in CI before merge
Automating captures near merge lets reviewers see visual changes while the code change is still under review. Storybook documents integrations for GitHub Actions, GitLab Pipelines, Bitbucket Pipelines, CircleCI, Travis CI, Jenkins, Azure Pipelines, and custom CI providers. Follow the current setup for the provider you use; the configuration differs by CI system. Storybook’s CI guidance
- Configure the documented Storybook/Chromatic CI workflow for your provider.
- Store the project token as an environment variable or secret in your CI system; do not commit a credential into the repository.
- Run the visual test job for the changes you want reviewed, typically as part of the pull request or pre-merge checks.
- Inspect reported story changes and resolve them before merge, accepting only intentional updates.
- If your team wants to prevent unreviewed changes from merging, configure the UI test check as a required status check in your repository’s branch-protection settings.
A CI job can report a change, but whether it blocks a merge depends on your repository’s required-check configuration. A passing visual job is not a substitute for functional assertions or accessibility review.
What visual testing does not establish
A pixel comparison says whether the captured appearance differs from a baseline. It does not establish that a button responds correctly, a form submits, keyboard navigation works, or a screen meets every accessibility need. Keep visual tests alongside interaction and accessibility checks, and test behavior directly.
Rank #4
Storybook documents interaction and accessibility testing as separate capabilities. Its accessibility integration’s configured error behavior matters if accessibility findings are expected to fail CI; see the current accessibility testing documentation. A visual test passing should never be treated as an accessibility certification.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Common problems and practical fixes
A large number of diffs appears after a small change
Check whether a shared style, font, asset, or global layout changed. Shared presentation changes can affect many stories. Review a representative set of diffs to identify the common cause before accepting individual updates.
The same story changes between runs
Look for nondeterministic inputs: live or changing data, current timestamps, random values, animations, or state that depends on prior navigation. Make story inputs fixed and isolate the intended state. Rerun after stabilizing the setup rather than repeatedly accepting varying baselines.
The baseline does not represent the intended design
Do not accept the first capture blindly. Correct the story or implementation to show the desired state, then establish or update the baseline through the review flow.
Best Value
The CI check reports a change but does not block a merge
Confirm that the visual test job runs successfully and that its status is configured as required by your repository’s branch protection. CI execution and merge enforcement are separate configuration choices.
An older test-runner guide conflicts with current setup advice
Check your Storybook version and framework. For Vite-powered frameworks, Storybook’s current docs recommend the Vitest addon and say it supersedes the test runner. Follow the integration documentation for your actual project rather than applying commands from a different version or framework.
A visual pass is mistaken for full UI coverage
Review the stories included in the run and add states that matter but are missing. Add interaction assertions and accessibility testing for their respective goals; screenshot comparison alone cannot verify them.
Or skip the browser setup
If you need a screenshot of a page rather than a baseline-driven Storybook review, ScreenshotNeo provides a website screenshot API and MCP server. A GET request returns an image or PDF; this example saves a WebP capture. See the ScreenshotNeo API documentation for request options.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo accepts cookie and consent banners before capture and removes 60+ known consent platforms, newsletter popups, and chat widgets; each step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, with the response identifying the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. This is a page-capture alternative, not a replacement for Storybook’s component-state coverage and accepted-baseline review.
Sign up free for 1,000 screenshots a month with no card.
Frequently Asked Questions
Does a Storybook visual test prove a component is accessible?
No. Accessibility testing is a separate check, and a passing pixel comparison does not establish accessibility.
Can a visual diff be accepted without changing the component?
Yes. If the rendered change is intended, review and accept the new appearance as the baseline.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

