Reg-suit compares image files; it does not capture the page in its documented workflow. Capture the page as a full-page screenshot with a browser tool, save it in Reg-suit’s configured actualDir, configure how Reg-suit finds and stores expected images, then run reg-suit run. Review the resulting HTML difference report to decide whether each change is intentional or a regression.
What Reg-suit does—and what it does not do
Reg-suit is a command-line visual regression tool. It compares the current images supplied by your project with expected images, creates an HTML report, and can publish comparison results through configured plugins. It does not provide a special full-page capture flag in the documented workflow: the upstream browser or screenshot tool must create the full-page image.
As an Amazon Associate I earn from qualifying purchases.
This separation matters when diagnosing a difference. A changed screenshot might reflect a real UI change, but it can also reflect a different viewport, browser rendering environment, font load, animation frame, or page state. Reg-suit reports image differences; it cannot determine whether the change is correct product behavior.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Capture a full-page screenshot before running Reg-suit
Use the browser automation tool already used by your project, or add one. The example below uses Puppeteer, opens a route, waits for the page to settle briefly, and writes a full-page PNG into an actual directory. Install Puppeteer in your project with npm install --save-dev puppeteer, then save this as capture.mjs and run node capture.mjs.
#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
import fs from 'node:fs/promises';
import puppeteer from 'puppeteer';
const url = process.env.TARGET_URL ?? 'http://localhost:3000/';
const output = 'actual/home.png';
await fs.mkdir('actual', { recursive: true });
const browser = await puppeteer.launch({ headless: true });
try {
const page = await browser.newPage({
viewport: { width: 1440, height: 900 },
deviceScaleFactor: 1,
});
await page.goto(url, { waitUntil: 'networkidle0', timeout: 60000 });
await page.screenshot({ path: output, fullPage: true });
console.log(`Saved ${output}`);
} finally {
await browser.close();
}
The route and filename are examples; use a stable filename for each page you intend to compare. If your site has a loading indicator or a known element that signals readiness, wait for that condition rather than relying only on a fixed delay or network-idle condition. Some pages keep network requests open or load content after initial navigation, so verify that the screenshot actually contains the intended content.
Keep the baseline and current capture comparable
Reg-suit compares supplied images, so matching the capture conditions is practical groundwork for useful diffs, not a guarantee provided by Reg-suit. Keep these inputs consistent between the run that creates a baseline and later runs:
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
- Route, query parameters, and test data.
- Viewport size, device scale factor, and full-page scope.
- Browser and operating environment where feasible.
- Font availability and page readiness conditions.
- Dynamic content such as timestamps, rotating banners, random IDs, and animations. Freeze, hide, or otherwise stabilize these only when that reflects the test’s intent.
Full-page screenshots can be especially sensitive to content that changes page height. A newly inserted banner or an unloaded lazy image may shift everything below it; confirm that the page has reached the state you mean to test before treating a large diff as a defect.
Recommended Free Tools
Configure Reg-suit to use the screenshots and a baseline
- Install the Reg-suit CLI using the project’s chosen package-management setup, then run
reg-suit initand follow its setup flow to configure the needed plugins. - Set
core.actualDirto the directory where your capture script writes current screenshots. In the example above, that directory isactual. - Configure expected-image lookup and storage with the key-generator and publisher plugins appropriate to your project. Reg-suit documents Git-hash and arbitrary-string key generators, and S3 and GCS publisher plugins.
- Keep the configured
workingDirif you want to change it; it is optional and defaults to.reg. The Reg-suit README says this directory is ordinarily placed in.gitignore. - Run the initial workflow and inspect the report. When no prior snapshots are available, the project’s Puppeteer demo describes images as new. After the initial images are published, a later run can use them as expected snapshots.
Reg-suit’s run command coordinates sync-expected, compare, and publish -n. The first step fetches expected images using the configured key-generator and publisher; the comparison step checks those images against actualDir and creates the HTML report; publishing stores the comparison result and actual images through the publisher plugin. Configured notifier plugins can send a status or message.
Run the comparison and review the report
Once capture and configuration are ready, run:
npx reg-suit run
Open the generated HTML report and inspect each difference in context. A detected difference is a prompt for review, not proof of a failed feature. Decide whether it represents an intended change, an unstable capture, or a regression. If it is intended, follow your team’s process for updating the expected image set; if it is not, correct the UI or the capture setup before accepting a new baseline.
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.
Choose comparison sensitivity deliberately
Reg-suit provides settings for the trade-off between detecting small changes and tolerating rendering noise. Its README documents these options:
| Setting | What it controls | How to think about it |
|---|---|---|
thresholdRate |
The share of pixels with differences relative to the whole image. | The README’s documented default is 0. Its sample configuration uses 0.05, but that sample is not a universal recommendation; choose a tolerated rate based on your own acceptable noise and regression risk. |
thresholdPixel |
An absolute pixel-count alternative to the relative rate. | Use an absolute count when a fixed number of changed pixels is more meaningful than a proportion of the image. |
matchingThreshold |
A YUV color-distance matching threshold from 0 to 1. |
Smaller values make comparison more sensitive. |
enableAntialias |
Optionally ignores anti-aliased pixels. | Consider it when edge-rendering differences create noise, while checking that the resulting tolerance still catches changes you care about. |
ximgdiff |
An optional report mode that can show more structural detail, including parts identified as inserted or moved. | Use it when the extra structure helps reviewers understand how content changed. |
Thresholds should not be used to make a noisy test appear healthy without understanding the cause. First stabilize capture conditions; then tune sensitivity to the visual changes your team wants to catch.
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
Use the right baseline source in CI
For Git-based comparison, the Git-hash key generator walks branch history to identify a base commit. The documented CI pitfall is a detached HEAD: if the job does not expose a branch name, the plugin may be unable to find the intended base. When expected images are missing or unexpected in CI, first check that the job has the relevant branch history and explicitly checks out or attaches the branch as needed. Do not start by loosening image thresholds.
The repository documents publishers for S3 and GCS, which can retrieve prior snapshot images and store current images and reports. Which storage and notifier configuration works depends on the plugin and the external service setup. The documented notifier families include GitHub, GitLab, GitHub Enterprise, Slack, and Chatwork.
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.
Or skip the browser setup
If you want an image file without maintaining browser-capture code, ScreenshotNeo’s screenshot API can return a screenshot for a URL. Reg-suit still needs the resulting image in your configured actualDir and still needs its own expected-image and publisher configuration.
For example, this cURL request saves a WebP screenshot of the target page:
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 API documentation for request options. ScreenshotNeo accepts cookie or consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify 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 a month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo free: 1,000 screenshots a month with no card.
Frequently Asked Questions
Can Reg-suit tell whether a visual change is a bug?
No. It identifies image differences and produces a report for a person or team to review; the report does not establish whether a change is intended.
Can I use filenames to organize several page screenshots?
Yes. Save each page’s current image in the configured actual directory and use stable, distinct filenames so the project can identify the images consistently across runs.
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.




