App screenshot guide
How to Take Clean App Store Screenshots
Create a repeatable source-capture session before adding marketing captions, backgrounds, or device presentation.
Use Simulator or Android Emulator for repeatable states and physical devices when hardware-dependent behavior matters. Before capture, load safe test data, set the correct locale and theme, remove notifications and debug overlays, then save full-resolution PNG sources. Keep every raw capture unchanged and create store artwork from copies.
Plan the capture session before opening the app
List the exact state needed for each marketing frame. This prevents a capture folder full of nearly identical images with no agreed purpose.
| ID | State | Test data | Variants |
|---|---|---|---|
| 01-today | Three tasks, one completed | Drink water; Walk; Read | Light/dark, en/de |
| 02-streak | Four-week history | Generated non-personal dates | Light, en/de |
| 03-reminder | Reminder editor | 08:30 weekday schedule | Light/dark, en/de |
Record platform, app build, device profile, OS version, locale, theme, account fixture, and capture date beside the manifest. These details make later recapture possible.
Capture from Xcode Simulator
Launch the required Simulator device, install the release-representative build, navigate to the planned state, and capture the device screen rather than the scaled desktop window.
- Choose the target simulator and run the app.
- Apply the planned language, region, appearance, and fixture account.
- Navigate to the state and wait for transient loading indicators to settle.
- Use Simulator’s screenshot command, or save a command-line capture with
xcrun simctl io booted screenshot source.png. - Open the PNG at 100% and check every edge.
Capture from a physical iPhone
Use a physical device when the screen depends on camera input, sensors, accessories, system integration, or another behavior you cannot represent faithfully in Simulator. Apple’s current support instructions use side button + volume up for Face ID models, or side/top button + Home for supported Touch ID models.
- Enable the target appearance, language, text size, and permissions.
- Load a dedicated demo account or safe local fixture.
- Clear notifications and close unrelated overlays.
- Capture the exact app state using the device button combination.
- Transfer the original file without sending it through a service that recompresses images.
Capture from Android Emulator
Android Studio provides a Take Screenshot action in the emulator toolbar. Google’s documentation says the capture dialog lets you recapture, edit, copy, and save the PNG.
- Run the correct Android Virtual Device and app build.
- Set the target locale, theme, font scale, and navigation mode.
- Load the fixture and navigate to the capture state.
- Select Take Screenshot from the emulator toolbar.
- Save the source PNG using the manifest ID.
Use a profile that represents the UI you want to show, but treat the saved emulator frame as a source capture. Your final Google Play asset must still meet Google’s current preview-asset requirements.
Capture Android screens with ADB
ADB is useful for scripted or repeated capture sessions. Google documents screencap as the device shell utility and provides this direct PNG command:
adb exec-out screencap -p > 01-today-android.pngConfirm which connected device or emulator receives the command before running a batch. For more than one target, select it explicitly with the appropriate ADB device option and keep the resulting platform/device ID in your manifest.
Make status bars and overlays intentional
A status bar can make a screen feel authentic, but inconsistent time, network, battery, or privacy indicators create noise across a set. Do not paint over UI indiscriminately after capture; prepare the device state and recapture whenever practical.
| Area | Look for | Action |
|---|---|---|
| Status bar | Inconsistent time, VPN, hotspot, recording, location indicators | Set a controlled state or document why the indicator is required |
| Notifications | Names, message previews, calendar details | Use Focus/Do Not Disturb and a demo account |
| Development UI | FPS meters, debug banners, layout bounds, touch dots | Disable development overlays in the capture build |
| System prompts | Permission dialogs unrelated to the frame’s message | Preconfigure permissions or make the prompt the intentional subject |
Use safe, coherent test data
Marketing data should tell a believable story without identifying a real customer, employee, patient, or contact. Generate fixtures and keep them stable so consecutive screens look like the same account.
| Sensitive source | Safer fixture | Consistency rule |
|---|---|---|
| Real bank account and transactions | Fictional accounts with obviously synthetic names | Totals reconcile across dashboard and detail screens |
| Customer address on a map | Public landmark or invented service area | Map, delivery card, and caption describe the same place |
| Team chat | Invented names and project conversation | Avatars and roles remain stable throughout the set |
| Health history | Generated measurements with no patient identifier | Units and trends remain clinically plausible without implying advice |
Do not use copied production records with names blurred out; hidden metadata, reflections of the original data, or missed screens can still expose information.
Capture light, dark, and localized UI deliberately
Decide which appearance supports the product story rather than switching theme frame by frame. When the app supports localized interfaces, capture the actual locale instead of translating only the marketing caption.
- Set application language and region, then restart if the app requires it.
- Check date, currency, number, measurement, and plural formatting.
- Test longer labels and dynamic type for clipping.
- For right-to-left languages, inspect navigation, icons, charts, and reading order.
- Keep theme consistent unless the frame specifically demonstrates appearance choices.
Preserve the raw resolution and file history
Save the unedited capture first. Compose and resize a copy for the target store; never overwrite the source with a flattened marketing file.
- Keep lossless PNG sources where the capture tool produces them.
- Use deterministic names: order, state, platform, locale, theme.
- Record the app build and capture environment.
- Avoid messaging apps or document tools that may resize the image.
- Inspect width and height before importing.
- Validate the final export separately from the raw source.
Clean source screenshot checklist
- The source corresponds to a named storyboard frame.
- Build, platform, device profile, locale, and theme are recorded.
- The app state has finished loading.
- No personal, production, or confidential information is visible.
- Notifications, keyboards, prompts, and debug overlays are intentional.
- Test data remains coherent across the full set.
- The file is the original full-resolution capture.
- The raw source is archived separately from store artwork.
Official sources
- Apple Support: Take a screenshot on iPhone
- Apple Developer: Interacting with Simulator
- Apple Developer: Screenshots for localizers
- Android Developers: Take emulator screenshots
- Android Developers: ADB screencap
- Apple: Screenshot specifications
Specifications can change. We review these pages monthly and update the visible verification date only after checking the source material.
