BackstopJS vs Percy
BackstopJS
github.comPercy
percy.ioSide by side
| Figure | BackstopJS | Percy |
|---|---|---|
| Price from | Free | $199/mo |
| Free plan | Yes | Yes |
| Free trial | — | Yes |
| Open source | — | — |
| Web | — | Yes |
| macOS | Yes | — |
| Linux | Yes | — |
| iOS | — | Yes |
| Android | — | Yes |
| Self-hosted | Yes | — |
| Plans published | 1 | 4 |
| Spec score · Visual Regression Testing Software | 8.0 (#11) | 8.1 (#10) |
| Integrations | The README describes CI reporting in JUnit format and integration with build systems such as Jenkins, Travis, and gulp. | The features page lists GitHub, GitLab, Slack, Storybook, WebdriverIO, and Jenkins integrations. |
| Purpose | BackstopJS automates visual regression testing of web apps by comparing screenshots over time. | Percy automates visual testing by capturing DOM snapshots and assets, rendering them across browsers, and comparing them with prior snapshots to detect visual changes. |
| Security | The README recommends matching the Docker container user to the local environment to improve security and avoid file ownership problems. | BrowserStack states that it is SOC 2 Type 2 compliant and that this compliance extends to its data centers and platform. |
Plans
Percy
- FreeFree
- Desktop$199 a month
- Desktop & Mobile$599 a month
- EnterprisePriced on request
In their own words
BackstopJS
BackstopJS is a free, MIT-licensed tool for visual regression testing of web applications. It captures screenshots and compares them with reference images over time. An in-browser report shows reference, test and visual-difference views, with additional CLI and JUnit reports. BackstopJS supports Puppeteer and Playwright; Playwright can use Chromium, Firefox or WebKit. Scenarios can script clicks, scrolling, hovering, key presses and cookie state. Captures can cover a full document, viewport or selected DOM elements at configured viewport sizes. The documented workflow uses `backstop init`, `backstop test` and `backstop approve` to configure tests, compare captures and update references. Installation works globally or locally through npm, as a standalone CLI or from a Node.js app. CI reporting and integrations include Jenkins, Travis and gulp. Docker can reduce rendering differences, though Chrome Headless in Docker needs substantial memory.
Percy
Percy automates visual testing by capturing DOM snapshots and assets, rendering them across browsers, and comparing results with earlier snapshots to flag visual changes. Responsive checks use configurable widths, while snapshot stabilization freezes animations and other dynamic elements to reduce false positives. Percy groups snapshots into the same build when tests run in separate processes or on different machines. Its review workflow includes status updates, notifications, comments, comparisons, and automatic diff matching. Listed integrations include GitHub, GitLab, Slack, Storybook, WebdriverIO, and Jenkins. Documented frameworks include Selenium, Playwright, Cypress, Puppeteer, Ember, Appium, and others. Percy documentation describes testing across real devices and desktop and mobile browsers. The free plan includes 5,000 screenshots per month, unlimited users, and unlimited projects. Desktop costs $199 a month, billed annually, for 10,000 screenshots per month; Desktop & Mobile costs $599 a month, billed annually, for 25,000 screenshots per month. Paid plans have fixed screenshot allowances, and additional usage is charged at the overage rate. Enterprise pricing is custom and unlisted.