Needle vs Percy
Needle
github.comPercy
percy.ioSide by side
| Figure | Needle | Percy |
|---|---|---|
| Price from | Free | $199/mo |
| Free plan | Yes | Yes |
| Free trial | — | Yes |
| Open source | — | — |
| Web | — | Yes |
| Linux | Yes | — |
| iOS | — | Yes |
| Android | — | Yes |
| Plans published | 1 | 4 |
| Spec score · Visual Regression Testing Software | 8.1 (#9) | 8.1 (#10) |
| Integrations | The README demonstrates a nose test case using Selenium to open a web page and check an element screenshot. | The features page lists GitHub, GitLab, Slack, Storybook, WebdriverIO, and Jenkins integrations. |
| Purpose | Needle tests CSS and other web visuals by comparing screenshots with known good screenshots. | 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 | GitHub reports that the project has no SECURITY.md policy and no published security advisories. | 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
Needle
Needle is an open-source Python testing library for checking rendered website visuals and layout. It captures selected page areas and compares them with baseline screenshots, helping identify visual changes in CSS, fonts, images, and SVGs. It also tests calculated CSS values and HTML element positions. Needle works with Selenium and nose, and documentation describes installing it with pip after Selenium. Browser-driver options include remote, PhantomJS, Firefox, Chrome, Internet Explorer, Opera, and Safari; NeedleFirefox is the default. PIL is the default screenshot engine, with PerceptualDiff and ImageMagick available as alternatives. PerceptualDiff and ImageMagick can create a diff PNG when comparisons fail. Tests can set viewport dimensions for responsive-site checks. Screenshot cleanup after successful tests is optional and disabled by default, while failed-comparison screenshots remain available. Package metadata describes the project as operating-system independent and for developers, while the listed platform is Linux. The repository uses a BSD license. PyPI lists version 0.5.0, released April 2, 2017, as the latest release. Needle is free and has no paid plan.
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.