ScreenshotNeo

BlogComparisons

Playwright Screenshot Testing Pricing: Free and Paid Options Compared

Playwright’s built-in screenshot comparisons are free. Compare hosted visual-testing plans, estimate your usage, and choose when a paid review workflow is worth it.

By the ScreenshotNeo team4 October 20267 min read

Playwright screenshot testing can start at $0 per month: Playwright Test includes screenshot assertions that create reference images and compare future runs against them. You pay for hosted visual-testing services when you need cloud review, centralized history, or team approval workflows. Estimate monthly captures before comparing plans, because each service defines and bills its usage unit differently.

For website screenshots through an API, ScreenshotNeo is the first alternative to try: it removes cookie banners, popups, and chat widgets before capture, bills only clean shots, and has a free plan plus a $5 paid plan.

1. Start with Playwright’s free screenshot assertions

Playwright Test provides toHaveScreenshot(). On the first run, it creates a reference image; later runs compare the page against that baseline. The images are stored with the test project by default, so you can review changes in your repository and CI without a separate visual-testing subscription.

import { test, expect } from '@playwright/test';

test('product page matches its visual baseline', async ({ page }) => {
  await page.goto('https://example.com/products/widget');
  await expect(page).toHaveScreenshot('product-page.png', {
    fullPage: true,
    maxDiffPixels: 100,
  });
});

Run it with npx playwright test. To accept an intentional visual change and update the reference, run npx playwright test --update-snapshots, review the changed image, then commit it with the test. Playwright documents the matcher, snapshot updates, and ways to control unstable elements in its visual comparison documentation.

Control visual noise

  • Keep the rendering environment consistent. Playwright warns that the operating system, browser version, settings, hardware, power source, and headless mode can affect screenshots. Generate and compare baselines using the same CI image and browser setup.
  • Hide volatile content deliberately. Use the matcher’s stylePath option to apply a stylesheet that hides animations, timestamps, or other known dynamic content. Avoid hiding elements whose visual behavior the test is meant to protect.
  • Set a difference threshold carefully. maxDiffPixels allows a known amount of pixel variation. A generous threshold can mask real regressions; use the smallest tolerance that keeps your stable environment reliable.
  • Review baseline updates. Updating snapshots changes the expected output. Treat snapshot diffs as code review material, especially for shared components and critical flows.

2. Estimate monthly visual-test volume

Hosted plans are easiest to compare after you estimate the number of captures. A useful planning formula is:

monthly captures = pages or components × viewports × browsers × builds per month

Include reruns and retries if the hosted service counts each uploaded capture. This is an estimate, not a universal billing definition: a local Playwright baseline, a hosted snapshot, a screenshot, and a component checkpoint may be different units.

For example, the 2026 pricing comparison by Argos uses 200 Storybook stories × 2 viewports = 400 captures per build; at 30 builds per month, that is 12,000 captures. Your own total changes if you add browsers, more viewports, preview builds, or retries. [Argos’s 2026 comparison]

Input Count What to include
Pages or components Unique screens captured per build Each route, Storybook story, or component checkpoint, according to the service’s unit
Viewports Distinct viewport sizes Desktop, tablet, and mobile sizes you actually test
Browsers Browser configurations Every browser included in visual review
Builds Monthly capture runs Merge requests, main branch builds, scheduled runs, and likely retries

3. Free and paid options compared

Use the options below as a pricing orientation, not as interchangeable per-image rates. The hosted figures for Chromatic, Argos, and Percy below are reported by an Argos article published August 11, 2026, which says it checked vendor pages in July 2026. Those numbers are secondary-source reports and may have changed; confirm current allowances, billing units, and overages directly before purchasing. Applitools’ listed figure comes from its official pricing page, but its checkpoint units differ from screenshot meters.

Option Price or allowance reported Unit and what it adds
Playwright Test No separate subscription charge for screenshot assertions Repository-managed reference screenshots and comparisons; the team manages CI consistency and reviews diffs.
Chromatic Free start; reported free tier 5,000 snapshots/month (Chrome only). Starter reported at $179/month for 35,000 snapshots; Pro at $399/month for 85,000; reported overage $0.008 per snapshot. Cloud snapshot generation and visual review. Its Playwright integration uploads a UI archive for cloud snapshot creation and comparison.
Argos Reported free tier 5,000 screenshots/month; Pro reported at $100/month for 35,000 screenshots, plus $0.004 per extra screenshot. Hosted screenshot review. The price figures are from a comparison written by Argos’s co-founder and CEO, so verify current terms with Argos.
Percy by BrowserStack The comparison reported a $599/month advertised tier; it did not verify this as a current public list price. Hosted visual testing. The comparison also says parallel uploads can cost extra; confirm current packaging and price with BrowserStack.
Applitools Official pricing page lists Starter at $667/month when paid annually, with 100,000 component checkpoints or 1,000 page checkpoints. Higher plans are customizable. Checkpoint-based plan. Component and page checkpoint allowances are distinct units, so this is not directly comparable to a per-screenshot price.
ScreenshotNeo Free: 1,000 shots/month with no card. Starter: $5 for 3,000; Growth: $15 for 15,000; Pro: $39 for 60,000; Scale: $99 for 250,000; Business: $249 for 1,000,000. Yearly billing gives 2 months free. Website screenshot API and MCP server. Every feature is on every plan; only clean shots are billed, and responses identify page verdict and billing status.

Sources: Chromatic for Playwright, Chromatic’s Playwright documentation, Applitools pricing, and Argos’s dated comparison. Pricing and included volumes can change.

4. Decide whether to stay local or pay for hosted review

Use Playwright alone when

  • Your team is comfortable storing and reviewing baseline images in the code repository.
  • Your capture environment is consistent enough to keep diffs actionable.
  • You can manage baseline updates and approvals through your existing code review and CI process.
  • Your project needs comparisons, but not a separate hosted archive or visual-review workflow.

Consider a hosted visual-testing service when

  • Centralized history and review across branches or teams would help reviewers understand changes.
  • You want cloud processing or a dedicated visual diff application. Chromatic documents uploading a UI archive for cloud snapshot generation, comparison, and review.
  • Repository-based image management and review have become awkward for your team.
  • You have calculated your usage with the provider’s own unit and checked the plan’s browser coverage, limits, and overage rules.

There is no universal cheapest hosted visual-testing tool from headline prices alone. Compare the monthly total at your own volume, then account for unit definitions, browser coverage, overages, and the review workflow you need.

5. Or skip the browser setup

If your goal is to capture a website screenshot rather than maintain Playwright visual baselines, ScreenshotNeo provides a one-call screenshot API. See the ScreenshotNeo API documentation for request options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
  • Cookie banners are accepted and removed, and known consent platforms, newsletter popups, and chat widgets can be removed before the shot; each step can be turned off.
  • Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Response headers report the page verdict and whether the shot was billed.
  • An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents and MCP clients.
  • 1,000 screenshots per month are free with no card; paid plans start at $5 for 3,000 screenshots. Every feature is available on every plan.

Sign up free for 1,000 screenshots a month, with no card required.

6. Troubleshooting Playwright screenshot pricing and setup

Problem Likely cause What to do
CI reports a screenshot diff after no intentional UI change The operating system, browser version, headless configuration, fonts, hardware, or other rendering conditions changed. Pin the CI image and browser version, keep capture settings consistent, and regenerate baselines only after reviewing the diff.
Images differ because of timestamps, animations, or rotating content The page contains content that changes between runs. Use stylePath to hide or stabilize known volatile elements, or make test data deterministic. Keep meaningful UI visible.
Too many hosted captures for the selected plan Browsers, viewports, builds, or retries multiplied the volume beyond the initial estimate. Recalculate with all dimensions and retries, inspect the provider’s precise meter, and compare the total plus overages.
A headline price seems much lower than another service The providers may meter different things, such as snapshots, screenshots, page checkpoints, or component checkpoints. Compare the included unit, coverage, overage rate, and workflow. Do not divide unlike allowances to claim a per-image winner.
Baseline update causes many unrelated changes The snapshots were regenerated in a different environment or after broad visual changes. Restore the consistent environment, update a focused set of snapshots, and inspect each diff before committing.

7. Performance, reliability, and cost notes

  • Performance: Every browser, viewport, and build you add can increase work and may increase hosted usage. Start with the visual coverage that answers a real review question, then expand dimensions deliberately.
  • Reliability: A stable renderer reduces noisy comparisons. Treat operating system and browser changes as changes to the snapshot environment and review their impact before updating baselines.
  • Cost: Local Playwright comparisons have no separate hosted visual-testing subscription charge, but require team time for snapshots, CI consistency, and review. Hosted services charge for their own units and workflow; calculate actual monthly volume and overages.
  • Budget control: Track builds, retries, viewports, and browsers in the same worksheet. Revisit the estimate when test coverage or CI frequency changes, and confirm current plan terms before committing.

8. FAQ

Does Playwright charge for screenshot testing?

Playwright Test’s built-in screenshot assertion does not require a separate visual-testing subscription. You provide the environment and manage the reference images and comparisons.

What does a visual-testing provider count as a snapshot?

It depends on the provider. A snapshot, screenshot, page checkpoint, and component checkpoint may represent different capture units or workflows; check the vendor’s definition before comparing allowances.

Can I use Playwright and a hosted service together?

Yes. Playwright can drive the test and capture context while a hosted service handles cloud comparison and review, as in Chromatic’s documented Playwright integration.

How often should I update screenshot baselines?

Update them when a visual change is intentional and the reviewed output should become the new expected result. Review the image differences before accepting the update.