Visual Testing

Percy: uses, strengths, and limitations

Visual change review across browsers and screens.

Percy logo
Pricing model
Commercial
Open source
No
Last verified

In simple terms

What is Percy?

Percy captures interface snapshots, compares them with approved baselines, and presents visual differences for review. It is part of BrowserStack's visual testing offering.

Practical guide

Percy explained simply

In plain words

Percy plays spot-the-difference with your interface. It takes a picture of each screen, compares it with the version you previously approved, and shows you exactly what moved. It catches the things functional tests never notice: overlapping text, a button pushed off the edge, a layout that collapses at tablet width.

Crucially, it does not decide whether a change is wrong — a person reviews and approves. That is the right division of labour.

What using it looks like

  1. Add a snapshot call to tests you already have.
  2. Run once to create the approved baseline images.
  3. On the next change, Percy shows a side-by-side view of anything that moved.
  4. Approve intended design changes; reject regressions.
  5. The approved version becomes the new baseline.

Because it renders at several widths, one snapshot can tell you whether a change broke the mobile layout — a class of bug that is otherwise found by customers.

What to watch out for

  • Changing data creates false alarms. Pin the content your snapshots show, or you will review noise every day.
  • Animations, timestamps and rotating banners must be frozen before capture.
  • Review volume is a real cost. Snapshotting every page produces more differences than a team will genuinely look at.
  • Bulk-approving to clear a backlog quietly approves real defects. It only takes once to lose the value.

Common questions

Is there a free alternative?

Yes — Playwright and several other frameworks include built-in screenshot comparison. You trade the hosted review workflow and cross-browser rendering for no licence cost.

Does it replace functional testing?

No. A screenshot cannot tell you whether the button works, only whether it looks the same as before.

How many snapshots do we need?

Far fewer than instinct suggests. Start with under twenty high-value screens and grow only when a real regression escapes.

Core capabilities

What it helps teams do

Visual snapshots

Capture supported pages or components from test and CI workflows.

Baseline comparison

Compare new renders with an approved reference state.

Review workflow

Inspect, discuss, approve, or reject detected visual differences.

Responsive coverage

Evaluate configured viewport widths and supported browser rendering environments.

Good fit

Consider Percy when

  • Reviewing unintended UI changes
  • Component and page snapshots at controlled widths
  • Teams needing shared visual approvals

Consider alternatives

Another approach may fit when

  • Layouts change unpredictably because test data and animation are uncontrolled
  • Pixel-level baselines are unsuitable for the product
  • A local open-source image-diff workflow meets the requirement

Trade-offs

Limitations to understand

  • Dynamic data, fonts, animation, and environment changes can create noise.
  • An image difference indicates change, not whether the change is wrong.
  • Baseline maintenance and human review remain necessary.

Evaluation checklist

Questions to answer before adoption

  1. 01Which pages, components, browsers, and widths are important?
  2. 02How will unstable data and animation be controlled?
  3. 03Who can approve baseline changes?
  4. 04What review volume is sustainable for the team?