CheckOps
Percy
Percy is BrowserStack's visual testing service. SDKs upload screenshots from your tests; reviewers accept or reject the diff.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Percy captures screenshots during a test run and compares them to a baseline. A reviewer accepts the diff, which becomes the next baseline, or rejects it as a visual bug. BrowserStack owns Percy. You keep writing functional tests in Cypress, Playwright, Selenium, Storybook, or a similar runner, and a Percy SDK uploads the snapshots from that run.
Rendering happens on Percy’s browsers, not only on the machine that executed the test. Plans are metered in screenshots: one page or component, in one browser, at one width. The product is closed source. There is a free monthly allowance and paid tiers above it.
Features
- SDK uploads: Official SDKs exist for Cypress, Playwright, Selenium, WebdriverIO, Storybook, and other common runners. The test calls a snapshot command; Percy stores the image.
- Cross-browser rendering: Snapshots can be rendered in Chrome, Firefox, Edge, and Safari. The test process does not have to install each browser.
- Responsive widths: One snapshot definition can render at several widths. Each width and browser pair counts as its own screenshot for billing.
- Visual engine: Percy diffs with computer vision rather than a raw pixel compare, and exposes comparison sensitivity so small anti-aliasing shifts do not all become failures.
- Review UI: A build page shows side-by-side and overlay diffs. Accepting a snapshot updates the baseline for the next build.
- Source control checks: Pull requests can be gated on visual approval. Snapshot names can be grouped by test case.
- Automatic browser upgrades: Percy renders on current browser versions it manages, so the suite is not pinned to a browser you installed two years ago.
- Desktop and mobile browsers: Paid mobile coverage uses real mobile browsers. The free plan is desktop browsers.
Pros
- The functional test stays the source of the screenshot: You do not maintain a second set of navigation scripts only for visual diffs.
- Browsers are hosted: Safari and Firefox coverage does not require those browsers on every CI agent.
- Review is explicit: A human accepts the baseline. That is slower than auto-approve and it is also how visual suites stay trustworthy.
- Free allowance is usable: The free plan includes 5,000 screenshots a month, unlimited users, and unlimited projects.
- Fits an existing BrowserStack account: Procurement and SSO often already cover BrowserStack, so Percy is an add-on rather than a new vendor process.
Cons
- Screenshot math grows fast: Two pages, two browsers, and three widths are twelve screenshots. A broad matrix exhausts 5,000 screenshots before the month is over.
- It does not replace the functional runner: Percy has nothing to execute if Cypress, Playwright, or Storybook is not already producing pages.
- Dynamic UI needs stabilization: Dates, ads, animations, and random data must be frozen or masked, or every build looks like a regression.
- Review queues stall merges: If nobody accepts snapshots, the check stays red. Teams need an owner for the baseline, not only a green CI badge.
- Paid tiers are annual platform fees: Desktop is listed at $199 per month billed annually for 10,000 screenshots. That is a poor fit if you only need a handful of local diffs.
Usage and Links (Example)
A Playwright test uploads a named snapshot after the page is ready. The exact helper depends on the SDK version; the docs for @percy/playwright are the source of truth.
npm install --save-dev @percy/cli @percy/playwright
export PERCY_TOKEN="your-project-token"
npx percy exec -- npx playwright test
const percySnapshot = require("@percy/playwright");
await page.goto("https://example.com");
await percySnapshot(page, "Home");
percy exec wraps the test command, waits for uploads, and finalizes the build. Without PERCY_TOKEN the SDK no-ops, which is how local runs stay quiet.
Resources:
Pricing
Figures below are from BrowserStack’s public pricing and Percy billing docs. Confirm them before you buy; visual plans move.
- Free: $0. 5,000 screenshots per month, unlimited users and projects, desktop browsers (Chrome, Firefox, Edge, Safari), responsive widths, and one month of build history.
- Desktop: $199 per month billed annually. 10,000 screenshots per month, then about $0.036 per extra screenshot. One year of build history.
- Desktop and Mobile: $599 per month billed annually. 25,000 screenshots per month, real mobile browsers, then about $0.048 per extra screenshot.
- Enterprise: Custom screenshot volume, SSO, and support. A private visual-testing option is also listed for teams that render on their own infrastructure.
A screenshot is one rendering of a page or component in one browser at one width. Percy’s UI groups those renderings into snapshots, which is a smaller number than the billable count.
Recommended for?
- Teams with Playwright, Cypress, or Selenium already in CI who want a hosted diff and a review step.
- Design-system repos that snapshot Storybook and cannot host every browser locally.
- BrowserStack customers adding visual coverage under the same vendor.
- Groups that will assign a reviewer. Percy does not help if every diff is auto-approved.
Conclusion
Percy is a hosted visual-review layer on top of tests you already run. The free 5,000 screenshots are enough to prove the workflow on a small set of pages. Cost tracks browsers times widths times pages, so narrow the matrix before you move to the $199 or $599 annual plans. It will not find a broken API or replace the runner that captured the page.
Compare
CheckOps pages that put Percy next to related tools. There is no paid placement on these lists.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Percy side by side.
CChromaticChromatic publishes Storybook and snapshots UI for visual review. The capture service is paid after a free monthly snapshot allowance.Compare with Percy
AArgosArgos is an MIT-licensed open-source visual testing platform for Playwright, Storybook, Vitest and other tools, with screenshot and file diffs, pull request reviews, flaky detection, and a hosted service with a free Hobby plan.Compare with Percy
VVizzlyVizzly is a commercial visual testing service aimed at coding agents and teams, with approved screenshot baselines, comments and review decisions that agents can read, a free local loop, and free cloud review for open-source projects.Compare with Percy
DDocketDocket is a vision-first end-to-end testing platform for web, iOS, Android and desktop that clicks by on-screen coordinates instead of selectors and self-heals when elements move.Compare with Percy
HHappoHappo is a commercial cross-browser visual regression testing service that renders Storybook stories, Playwright, Cypress and other tests in Chrome, Firefox, Safari, Edge and iOS, plus native iOS and Android apps, on every pull request.Compare with Percy
DDiffyDiffy is a commercial visual regression testing service for agencies managing complex websites, comparing environments and releases with AI change summaries and a Claude skill.Compare with Percy