What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Yes. Chromatic can capture responsive layouts at custom screen sizes. For Storybook, use the current Modes API to set a viewport width and height, then apply the mode to the stories you want to test. Vitest, Playwright, and Cypress use their supported viewport configuration or test context; in Cypress, Chromatic currently does not support cy.viewport().
Choose the setup that matches your test runner
Chromatic captures the DOM at the viewport size configured for a test. Storybook projects can define named viewport modes and apply them to stories. Vitest, Playwright, and Cypress instead use the viewport settings supported by their respective test integrations. See Chromatic’s Viewports guide for runner-specific setup.
As an Amazon Associate I earn from qualifying purchases.
Storybook: define and apply a custom mode
For new Storybook configurations, use the Modes API. Define modes in .storybook/modes.js or .storybook/modes.ts, then select the mode on a story or component with parameters.chromatic.modes. Modes can also be configured at project level in .storybook/preview.js or .storybook/preview.ts.
// .storybook/modes.js
export const modes = {
tablet: {
viewport: { width: 800, height: 600 },
},
};
// In a story file
export default {
title: 'Example/Card',
component: Card,
parameters: {
chromatic: {
modes: {
tablet: modes.tablet,
},
},
},
};
Import modes from the configuration file if it is not in scope. The exact story and component exports depend on your Storybook setup; the important parts are the named mode’s viewport and selecting that mode in Chromatic parameters. A mode can also specify other global render conditions, such as theme or locale, so a responsive snapshot can represent a meaningful combination rather than width alone. See Configure viewports for stories and Modes for testing themes, viewports, locales & more.
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
Vitest: configure the browser viewport
Set the viewport in the Vitest browser configuration, or set it in the test using the supported page API:
await page.viewport(800, 600);
Use the configuration route when the dimensions should apply consistently to a group of tests; use the test context when a particular test needs a distinct size. Consult Chromatic’s runner guidance alongside your Vitest configuration, since the available setup depends on the browser integration in use.
Playwright: set a project or test viewport
Set a project’s viewport in Playwright configuration, or use test.use for a test or test group:
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
test.use({ viewport: { width: 800, height: 600 } });
A configured project viewport is suitable when a set of tests shares dimensions. A test-level viewport is useful when the size is specific to one scenario.
Cypress: use supported configuration, not cy.viewport()
Chromatic supports Cypress viewport dimensions through project-level viewportWidth and viewportHeight, or through supported test-level viewport options. Its documentation says cy.viewport() is currently unsupported by Chromatic, so do not rely on calling that command to change the dimensions for a Chromatic snapshot. Use the documented configuration or test options instead.
Set both dimensions, and decide whether to crop
A Storybook mode’s viewport can be an integer width, a width-and-height object, a width-only or height-only object, or integer strings with an optional px suffix. For example, viewport: { width: 800, height: 600 } sets both dimensions. Chromatic documents a default viewport of 1200 × 900 pixels when none is specified.
Rank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
Viewport height and snapshot height are related but not identical. Setting a viewport height sizes the browser; it does not by itself guarantee that the saved snapshot is clipped at that height. To crop to the viewport, set parameters.chromatic.cropToViewport: true. With cropping enabled, content extending below the viewport is clipped, while content shorter than the viewport is trimmed to its intrinsic height. Without a specified height, Chromatic captures to the rendered root container’s intrinsic height.
Recommended Free Tools
Check size limits before adding modes
- Chromatic’s documented width and height limits for configured viewports are 200–2560 pixels per dimension.
- The maximum snapshot area is 25,000,000 pixels.
- For Safari and Firefox captures, either image dimension has a 32,767-pixel limit. Chromatic says it automatically retries at device pixel ratio 1.0 when this limit is reached.
These constraints are documented in Chromatic’s viewport configuration guidance. Consider both the viewport bounds and the total snapshot area when choosing dimensions; increasing width and height together can exceed the area limit.
Plan for separate snapshots and review
Each selected mode and viewport combination produces its own snapshot and baseline, with its own approval. Testing more sizes can expose regressions that appear only at particular breakpoints, but it also increases the number of visual changes the team must review. Use modes for the responsive states that matter to the component or story rather than multiplying snapshots without a specific check in mind.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
Chromatic advises that project-level modes are not recommended in most cases because each viewport is reviewed independently. Apply modes at the narrowest suitable scope when only certain stories need extra responsive coverage. Chromatic’s Snapshots documentation describes how snapshot variations are handled.
Prefer Modes over the legacy Storybook viewport API
Chromatic’s older chromatic.viewports API remains documented as legacy. It supports widths only and is converted into modes during capture; Chromatic plans to deprecate it. For new Storybook work—especially when height or other render conditions matter—configure the viewport with Modes instead. See Viewports (legacy).
Troubleshoot unexpected responsive snapshots
- The snapshot uses an unexpected size: Confirm the mode is selected through
parameters.chromatic.modeson the intended story or component, or check that the runner’s configured viewport is the one used for the test. - The image is taller than the browser viewport: A viewport height does not automatically crop the snapshot. Enable
parameters.chromatic.cropToViewport: trueif clipping to the viewport is intended. - A Cypress size change has no effect: Chromatic currently does not support
cy.viewport(). Set dimensions through Cypress’s supported project configuration or test-level viewport options. - A configured viewport is rejected or capture exceeds a limit: Check each dimension against the documented 200–2560-pixel range and keep the snapshot area at or below 25,000,000 pixels. Safari and Firefox also have the documented 32,767-image-pixel per-dimension limit.
- A small content page looks shorter than the chosen height: With viewport cropping enabled, content shorter than the viewport is trimmed to its intrinsic height; the viewport setting is not a promise of a fixed-height output image.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server for developers. One GET request captures a URL; the response can be a PNG, JPEG, WebP, or PDF. Its capture process accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before the shot; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and the response identifies 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.
For a quick capture, replace the target URL as needed and provide your API key:
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo offers 1,000 shots per month free with no card; paid plans start at $5 for 3,000 shots. Sign up for 1,000 free screenshots a month, with no card required.
Frequently Asked Questions
Does a Storybook viewport mode have to include both width and height?
No. Chromatic’s Modes viewport accepts a width, a width-and-height object, a width-only or height-only object, or integer strings with an optional px suffix.
Do Modes work with settings besides viewport size?
Yes. Modes can combine viewport settings with other global render settings, including theme and locale.
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.




