Emerge’s Snapshots product allows mobile teams to confidently ship UI changes in their app and be notified of regressions before they make it to production, without maintaining any extra test suites or code.

Getting started

Check out our platform guides!

iOS Snapshots

Android Snapshots

Continuous integration

Emerge's snapshotting solution is designed to fit seamlessly into your CI workflow, catching regressions in pull requests early before they make it into production. Emerge compares pull requests against the base branch and automatically diffs the result, giving developers a simple summary of what changed in their UI.


Overview of using snapshot generation for snapshot testing in CI.

We provide a custom status check so developers can easily verify their changes at a glance:

And also get a more detailed breakdown:

Once a pull request is merged into the base branch, that becomes the new "golden" set of snapshots to compare against.

Web interface

Developers can sign up for an Emerge account to gain access to our snapshots web interface. There, we provide tools for interactive diffs, searching, and more.

Why choose Emerge?

Snapshot testing for mobile has had a shaky past. Now, the community has largely settled on using swift-snapshot-testing for iOS and paparazzi for Android.

We'll highlight a few of the main differences:

No extra code to maintain

Both of these existing libraries require manual test cases to generate snapshots. That means you write a preview while locally developing a new UI component, and then have to duplicate those same display settings in a test case.

Emerge is instead able to generate snapshots using existing preview code.

Managed devices

Emerge runs your snapshots on real simulators (iOS) and emulators (Android) for the most accurate snapshot generation.

Sharded diffing

Emerge automatically shards our snapshot generation and diffing logic to get you faster results.

Automatic storage

Say goodbye to painful Git management for your snapshot images, Emerge stores all snapshots associated with a commit SHA.

No manual recording

When updating or adding new snapshots, some libraries require developers to record the changes manually. This is yet another process that every dev on the team has to learn, and also a common source of flakes.

Emerge treats the base commit for every pull request as the "golden" set to compare against.