Skip to main content

Screenshots and Previews

Manage App Store screenshots and preview videos
Manage your App Store screenshots from capture to upload, including local automation workflows (experimental).

Overview

The CLI provides two screenshot workflows:
  1. App Store Workflow: Upload and manage screenshots in App Store Connect
  2. Local Automation (Experimental): Capture, frame, review, and prepare screenshots locally

App Store Screenshot Management

Understanding Screenshot Requirements

View required screenshot sizes for App Store submission:
For the full matrix including all device types:
For most iOS submissions, you need:
  • One iPhone set: IPHONE_65 (6.5” display)
  • One iPad set: IPAD_PRO_3GEN_129 (12.9” iPad Pro 3rd gen)
The App Store will automatically scale these to other sizes.

Upload Screenshots

1

Find your version localization ID

List localizations for your app version:
Extract the localization ID for your target locale (e.g., en-US).
2

Prepare screenshot files

Organize screenshots by device type:
3

Upload iPhone screenshots

4

Upload iPad screenshots

Device Types

Common device types for screenshots: iPhone:
  • IPHONE_65 - 6.5” display (iPhone 14 Plus, etc.)
  • IPHONE_55 - 5.5” display (iPhone 8 Plus)
  • IPHONE_40 - 4” display (iPhone SE 1st gen)
iPad:
  • IPAD_PRO_3GEN_129 - 12.9” iPad Pro (3rd gen)
  • IPAD_PRO_129 - 12.9” iPad Pro (1st/2nd gen)
  • IPAD_105 - 10.5” iPad Pro
  • IPAD_97 - 9.7” iPad
Apple Watch:
  • APPLE_WATCH_SERIES_7 - 45mm Series 7
  • APPLE_WATCH_SERIES_4 - 44mm Series 4
  • APPLE_WATCH_SERIES_3 - 42mm Series 3
Mac:
  • DESKTOP
Apple TV:
  • APPLE_TV

List Existing Screenshots

Filter client-side by device type:

Download Screenshots

Download all screenshots for a localization:

Delete Screenshots

Delete a specific screenshot:
Deleting screenshots is permanent. Download backups before deleting.

Local Screenshot Automation (Experimental)

Local screenshot commands are experimental. Please report issues at: https://github.com/rorkai/App-Store-Connect-CLI/issues/new/choose

Complete Local Workflow

1

Capture screenshots from simulator

Launch your app in iOS Simulator, then capture screenshots:
This captures from the currently running simulator.
2

Frame screenshots with device bezel

Add device frame around raw screenshots:
See available device frames:
3

Generate HTML review gallery

Create an HTML page to review all screenshots:
4

Open review in browser

This opens a browser with an interactive gallery for review.
5

Approve screenshots

Mark screenshots as ready for upload:
Or approve selectively in the browser UI.
6

Preview uploads from approved screenshots

Build a deterministic upload plan from the approved review artifacts:
7

Apply the approved upload plan

Apply the reviewed upload plan explicitly:

Screenshot Plan Automation

Define a complete screenshot plan in .asc/screenshots.json:
Run the entire workflow:

Available Frame Devices

List supported devices for framing:
Common devices:
  • iphone-air - iPhone with edge-to-edge display
  • iphone-14-pro - iPhone 14 Pro
  • iphone-se - iPhone SE
  • ipad-pro-129 - 12.9” iPad Pro
  • ipad-air - iPad Air
  • apple-watch-series-7 - Apple Watch Series 7

Complete Screenshot Workflow Example

Here’s a complete workflow for managing screenshots:
If an upload stops partway through, the command prints a failure artifact path like .asc/reports/screenshots-upload/failures-123.json. Resume the remaining files with:

Preview Videos

Upload app preview videos:

Upload Preview Video

Preview Video Requirements

  • Format: H.264 or HEVC codec, .mov or .mp4
  • Duration: 15-30 seconds
  • Resolution: Matches device screenshot size
  • File size: Up to 500 MB
  • Aspect ratio: Matches device (typically 16:9 or device aspect)

Multi-Locale Screenshot Workflow

For apps with multiple localizations, you can now fan out one upload across all matching locale directories:
Recommended directory layout:
The command resolves the app store version, fetches its version localizations, and uploads each locale subtree to the matching remote localization. It only includes files whose dimensions match the selected --device-type, so mixed iPhone/iPad locale trees are safe as long as each locale contains the slot you are uploading. A device-rooted layout such as screenshots/iphone/en-US also works when --path points at ./screenshots/iphone. For CI or large locale batches, save the printed failure artifact as a workflow artifact so a rerun can continue with asc screenshots upload --resume <artifact>.

Troubleshooting

”Invalid image dimensions”

Problem: Screenshot dimensions don’t match the device type. Solution: Verify required dimensions:
Ensure your images match exactly:
  • iPhone 6.5”: 1242 x 2688 pixels
  • iPad Pro 12.9”: 2048 x 2732 pixels

”Capture failed - no simulator running”

Problem: asc screenshots capture requires a running simulator. Solution:
  1. Launch iOS Simulator
  2. Open your app in the simulator
  3. Run the capture command

”Frame device not found”

Problem: Invalid device name for framing. Solution: List available devices:
Use exact device names from the output.

”Upload failed - file too large”

Problem: Image file size exceeds limits. Solution: Optimize images:

Best Practices

  1. Use consistent naming: Name screenshots clearly (01-home.png, 02-features.png)
  2. Optimize file sizes: Compress screenshots to reduce upload time while maintaining quality
  3. Follow Apple guidelines:
    • No UI chrome (status bars are optional)
    • Show actual app content
    • Use device-appropriate assets
  4. Localize screenshots: Create locale-specific screenshots showing localized UI
  5. Test on real devices: Capture from actual devices when possible for best quality
  6. Version control: Keep screenshot sources in git for easy updates
  7. Automate where possible: Use the local workflow tools to streamline repetitive tasks
  8. Review before upload: Always review screenshots in context before uploading to App Store Connect