On this page
Overview
Paparazzi is an Android snapshot-testing library that renders application screens without a physical device or emulator. JVM tests can render Views and Compose, record golden images, and verify later output against those baselines.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Render Views and Compose in JVM tests and record images
Paparazzi can inflate Views or render Composables and save the result as a snapshot without starting a device or emulator.
Sources: [2]
Manage golden images with record and verify Gradle tasks
recordPaparazziDebug writes baseline images and verifyPaparazziDebug compares current rendering with those goldens, producing failure diffs when results change.
Sources: [2]
Best fit
Fits Android teams that want visual regressions reviewed in CI
Components, screen states, and Compose UI can be kept as versioned goldens so unintended spacing, color, and layout changes surface as reviewable diffs.
Sources: [2]
Before adoption
Plan golden storage and evaluate the 2.0 alpha line separately
The README recommends Git LFS for snapshot files. The latest 2.0.0-alpha05.1 release changes the rendering model and notes that some goldens need to be recorded again, so migration from stable 1.3.5 should be evaluated independently.
Official sources
- [1]cashapp/paparazzi — GitHub repository(2026-10-06)
- [2]Paparazzi 1.3.5 — README(2026-10-06)
- [3]Paparazzi 1.3.5 release(2026-10-06)
- [4]Paparazzi 2.0.0-alpha05.1 release(2026-10-06)
- [5]Paparazzi Apache-2.0 license(2026-10-06)
Supplemental curator note
Paparazzi is strong for visual regression checks in CI, but adoption includes a policy for storing and reviewing golden images. Evaluate the 2.0 alpha line separately because its rendering model changes can require snapshots to be recorded again.
Try it in 3 steps
- 1
Clone the stable 1.3.5 source
Shallow-clone the reviewed stable 1.3.5 tag rather than the active 2.0 alpha line.
git clone --depth 1 --branch 1.3.5 https://github.com/cashapp/paparazzi.git && cd paparazzi - 2
Record sample golden images
Run the sample task documented in the README to record Debug snapshots as golden images.
./gradlew :sample:recordPaparazziDebug - 3
Verify rendering against the goldens
Compare the current sample rendering with the recorded goldens and confirm the snapshot test passes.
./gradlew :sample:verifyPaparazziDebug
Growth
Growth trends · Last 30 days
2,632 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 58
- Open PRs
- 44
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 2,632
- Forks
- 264
- Watchers
- 34
- Open issues
- 136
- Contributors
- 68
- Owner type
- Organization
- Primary language
- Kotlin
- License
- Apache-2.0
- Repository last updated
- Oct 6, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- Moshi10,165 Stars
2 shared tag(s) · 1 shared category(s) · Same language
convert Kotlin and Java objects to and from JSON with typed adapters
Kotlin - Koin10,024 Stars
2 shared tag(s) · 1 shared category(s) · Same language
configure lightweight dependency injection for Kotlin, Android, and Kotlin Multiplatform through concise module DSLs
Kotlin - AndroidX Test1,226 Stars
4 shared tag(s) · 3 shared category(s)
build Android instrumented and UI tests with AndroidJUnitRunner, Espresso, and AndroidX Test Core
Java - MockK5,762 Stars
3 shared tag(s) · 2 shared category(s) · Same language
mock, stub, and verify Kotlin collaborators with coroutine and Android support
Kotlin - Android Jetpack (AndroidX)6,105 Stars
3 shared tag(s) · 1 shared category(s) · Same language
use independently released Jetpack libraries for Android UI, architecture, data, and background work across platform versions
Kotlin - Mavericks5,926 Stars
3 shared tag(s) · 1 shared category(s) · Same language
organize Android screen updates around immutable State and ViewModel-driven unidirectional flow
Kotlin
Report incorrect information
Tell us if any listing information is incorrect or outdated.