For screenshots you can compare reliably, keep the browser, operating system, viewport, device scale, page state and capture scope consistent with the baseline. Use Playwright’s screenshot assertions to wait for a stable image and compare it; use Chrome DevTools’ Rendering and Performance tools to investigate repainting, layout shifts and dropped frames. A screenshot records appearance—it does not measure rendering performance by itself.
What makes website screenshots consistent?
A screenshot comparison is meaningful only when you know what was held constant. Browser rendering can vary with the host operating system, browser version, settings, hardware, power source and headless mode. Fonts and browser-platform differences can also change pixels. Playwright recommends generating and comparing screenshots in the same environment; see its visual comparisons guidance.
Before capturing a baseline, record the URL and application state, viewport dimensions, browser project, operating system or container image, and whether the image covers the viewport, full page or a particular element. If cross-browser or cross-platform rendering is part of the test, give each browser/platform combination its own baseline rather than treating its differences as unexpected noise.
Choose the comparison target first
- Viewport: Compare what a user sees within a fixed window.
- Full page: Include below-the-fold layout, keeping in mind that long pages can involve lazy-loaded content.
- Element: Focus on a component when the issue is confined to it.
Use the same capture scope for the baseline and every subsequent run. A full-page capture and a viewport capture answer different questions and should not be compared as though they were equivalent.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
How to take a stable screenshot with Playwright
In Playwright Test, toHaveScreenshot() retries captures until two consecutive screenshots match, then compares the last capture with the expected image. That stability check is useful, but it cannot make an incorrectly chosen application state or mismatched machine equivalent to the baseline.
Runnable TypeScript example
Install Playwright Test in your project and configure its browser project and CI environment to match the baseline. The example below uses a semantic readiness condition; replace it with the signal that reliably indicates the page state your test needs.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
import { test, expect } from '@playwright/test';
test('captures a stable page state', async ({ page }) => {
await page.setViewportSize({ width: 1280, height: 800 });
await page.goto('https://example.com');
await page.getByRole('main').waitFor();
await expect(page).toHaveScreenshot('example.png', {
animations: 'disabled',
caret: 'hide',
scale: 'css',
});
});
This is a pattern, not a guarantee that every website is ready when its main landmark appears. If the state depends on data or an interaction, wait for the relevant content or application-specific readiness condition instead of inserting an arbitrary sleep. Keep the browser and OS environment aligned with the baseline.
Disable motion only when motion is not under test
For screenshot capture, Playwright supports animations: 'disabled'. Finite animations are fast-forwarded; infinite animations are canceled to their initial state and restored after capture. The screenshot assertion API also disables animations by default. Hiding animation can reduce timing noise, but it means the moving state itself is not being checked.
Free tools Windows power users keep installed
One-click scans. No signup required.
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
The screenshot API hides the text caret by default; the example makes that policy explicit. For clocks, rotating promotions or other volatile content, a screenshot-only stylesheet or mask can reduce irrelevant changes. Keep these changes local to the capture, record what is hidden, and do not mask text, layout or rendering regions the test is meant to catch. Playwright documents screenshot options and masking and screenshot styles.
Choose pixel scale deliberately
Playwright’s page screenshot option accepts scale: 'css' or scale: 'device'. CSS scale produces one image pixel per CSS pixel, which can keep high-DPI captures smaller. Device scale produces one output pixel per device pixel and is the page screenshot API default, so the image can be larger on high-DPI displays. Choose one scale and retain it across runs.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
How to review and update visual baselines
On the initial run, Playwright creates reference screenshots; later runs compare against those references. When a comparison fails, inspect the difference before deciding whether the change is a bug or an intended design update. Update references deliberately with npx playwright test --update-snapshots only after review; using baseline updates merely to clear failures can normalize a regression.
Playwright provides configurable pixel-difference thresholds and screenshot styles. A more permissive threshold may reduce sensitivity to small differences, but can also let real small regressions pass. Start with a controlled environment and an appropriate capture policy rather than relying on a loose threshold to compensate for inconsistent machines.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
How to use screenshots to investigate rendering problems
A still image can show where a layout or appearance differs, but not when pixels were repainted, whether layout shifted during loading, or whether frames were dropped. Use the screenshot to identify the visual symptom, then inspect a recording or the live page with Chrome DevTools. The Rendering tab reference describes tools for investigating rendering performance.
Useful Chrome DevTools views
- Paint flashing: Repainted areas flash green. This can reveal regions being repainted during interaction or updates.
- Layout-shift regions: After refresh, affected regions appear briefly in purple, helping locate visible shifts.
- Frame rendering stats: An FPS estimate and frame presentation information distinguish successfully rendered, partially presented and dropped frames.
- Other rendering diagnostics: The Rendering tab includes views for painting events, layer borders and scrolling performance issues.
These diagnostics help narrow an investigation; they do not prove a root cause on their own. Keep device emulation, capture conditions and workload in mind when comparing performance observations. A screenshot assertion is a visual regression check, not a substitute for a performance trace or a controlled performance measurement.
Common causes of inconsistent captures
| Symptom | Likely cause | What to check |
|---|---|---|
| Text wraps or font shapes differ | Different operating system, browser version, browser settings or available fonts | Run baseline and comparison in the same pinned browser/OS image; separate baselines for deliberate platform coverage. |
| Image dimensions differ on a high-DPI machine | CSS-pixel and device-pixel scale are being mixed | Set the screenshot scale explicitly and keep it identical across runs. |
| Only animated or changing regions fail | Capture timing or volatile content differs | Wait for the needed state; disable irrelevant animation or locally mask truly irrelevant dynamic content, documenting the blind spot. |
| Screenshot captures a blank, loading or partial state | The test reached navigation completion before the relevant application state was ready | Wait for the specific content or component to be visible and populated, using a reliable application-specific signal. |
| Full-page screenshot misses content below the fold | Content is lazy-loaded or only appears after scrolling | Make sure the page has reached the state required for the below-the-fold content before capture; keep the same method for baseline and follow-up. |
| A mismatch appears only in CI or only locally | Different host environment, headless configuration, hardware or browser build | Compare the recorded environment details and run both captures in the same environment before treating the difference as a product change. |
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. For a quick URL capture, one GET request returns an image or PDF. Its clean-shot steps accept cookie or consent banners like a visitor and remove 60+ known consent platforms, newsletter popups and chat widgets; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, 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. The free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. These conveniences do not replace a pinned browser/OS environment when you need repeatable visual regression baselines.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
See the ScreenshotNeo documentation for API options. Sign up for 1,000 free screenshots a month, with no card.
Recommended Free Tools
Frequently Asked Questions
Does a Playwright screenshot assertion measure page speed?
No. It checks rendered images for visual differences. Use performance traces and browser rendering diagnostics to investigate timing, repaints and frame behavior.
Should I use screenshots from different operating systems as one baseline?
Not when the goal is to isolate application changes. Use a baseline for each browser and platform combination you intend to cover.
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.

