Why App Store screenshots make or break your downloads
App Store screenshots are the first thing people see when they find your Mac app. Apple's own data shows that most users never scroll past the screenshot gallery before deciding to download or move on. Bad screenshots — blurry, wrong size, or showing the wrong features — kill conversion rates even if the app itself is excellent.
The problem for indie developers is that Apple's screenshot requirements are specific and unforgiving. Upload the wrong dimensions and App Store Connect rejects them outright. Get the sizes right but skip device frames and marketing text, and your listing looks amateur next to competitors who invested in polished visuals.
Mac App Store screenshot size requirements
Apple requires screenshots that match specific display classes. For Mac apps, you need to provide screenshots for at least one of these sizes, though submitting both is recommended:
| Display | Required size (pixels) | Aspect ratio |
|---|---|---|
| Mac with Retina display | 2880 × 1800 | 16:10 |
| Mac with Retina display (alt) | 2560 × 1600 | 16:10 |
| Widescreen Mac display | 1280 × 800 | 16:10 |
| Ultra-wide (optional) | 2560 × 1440 | 16:9 |
You can upload up to 10 screenshots per localization. The minimum is 1, but Apple recommends at least 3. Screenshots can be landscape or portrait orientation, but landscape is standard for Mac apps since that matches how people actually use their computers.
File format and technical rules
Apple is strict about the technical requirements. Your screenshots must meet all of these:
- Format: PNG or JPEG only (PNG recommended for UI screenshots — no compression artifacts)
- Color space: sRGB or Display P3. No CMYK.
- No alpha channel: If your PNG has transparency, App Store Connect will reject it. Flatten before uploading.
- Max file size: No official hard cap, but keep screenshots under 10 MB to avoid upload timeouts
- No device bezels in the screenshot itself: Apple adds device frames automatically in some contexts. If you add your own, make sure they don't conflict.
A common rejection reason: exporting a screenshot with a transparent background. If your app has any transparent regions visible at the edges, flatten the image onto a solid background before uploading.
How to capture Mac screenshots at the exact right size
If you're running a Retina MacBook Pro (the most common dev machine), your native screenshot resolution is already 2880 × 1800 when capturing the full screen. That's the exact size Apple wants.
Capture a full-screen screenshot with Cmd + Shift + 3. Check the dimensions:
sips -g pixelWidth -g pixelHeight ~/Desktop/Screenshot*.png
If you're on a non-standard resolution or external monitor, you'll need to resize. Use sips to resize to exact App Store dimensions:
sips --resampleHeightWidth 1800 2880 screenshot.png
For the 2560 × 1600 size:
sips --resampleHeightWidth 1600 2560 screenshot.png
To remove an alpha channel (common rejection fix):
# Convert to JPEG and back to flatten transparency
sips -s format jpeg screenshot.png --out screenshot.jpg
sips -s format png screenshot.jpg --out screenshot-flat.png
rm screenshot.jpg
Staging your app for the best screenshots
Raw screenshots of your running app rarely look good enough for the App Store. Before capturing, prepare your app:
- Use realistic sample data. Fill your app with plausible content — real-looking project names, messages, or documents. Empty states and lorem ipsum look unprofessional.
- Hide personal or debug info. Remove your real name, email, test data, debug menus, and console output. Reviewers will notice.
- Set the window to a clean size. Resize your app window to fill most of the screen with balanced margins. Avoid awkward whitespace.
- Use a clean Desktop. If your screenshot shows any part of the desktop, clear it. A cluttered Desktop behind your app looks sloppy.
- Pick the right feature to showcase. Your first screenshot should show the core value of your app in one glance. Don't lead with settings or preferences.
Adding device frames and marketing text
Bare screenshots work, but adding a MacBook device frame and a short headline above the screenshot dramatically improves perceived quality. Most top-ranking Mac apps use this approach.
Free tools for adding device frames:
- Shots.so — Browser-based, drag-and-drop device frames with customizable backgrounds. Free tier covers basic needs.
- AppMockUp Studio — Purpose-built for App Store screenshots. Templates for every Apple device size.
- Pika.style — Quick background and shadow effects. Good for making bare screenshots look polished without full mockups.
- Figma / Sketch — If you're already using design tools, Apple provides official device frame templates you can download and composite your screenshots into.
When adding marketing text, keep it short — one line per screenshot. Use your app's primary font or a clean sans-serif. The text should describe the benefit shown in the screenshot, not repeat your app's name.
Common App Store screenshot rejections and how to avoid them
| Rejection reason | Fix |
|---|---|
| Wrong dimensions | Resize to exact pixel values in the table above. Even 1 pixel off triggers rejection. |
| Alpha channel present | Flatten PNG transparency onto a solid background before uploading. |
| Screenshots show features that don't exist | Only screenshot your shipping build. Don't mock up unreleased features. |
| Screenshots contain pricing information | Don't put "$4.99" or "Free" in your marketing text — Apple controls pricing display. |
| Text is unreadable | Use large, high-contrast marketing text. Test at 50% zoom to simulate how users see it. |
| Status bar shows inappropriate content | Clean up your menu bar before capturing. Hide VPN icons, low battery, and test notifications. |
Automating the screenshot workflow with Xcode
If your Mac app has UI tests, you can capture App Store screenshots automatically using Xcode's screenshot testing:
func testAppStoreScreenshots() {
let app = XCUIApplication()
app.launch()
// Navigate to the main feature
let attachment = XCTAttachment(screenshot: app.screenshot())
attachment.name = "AppStore-Main"
attachment.lifetime = .keepAlways
add(attachment)
}
Run your UI tests and find the screenshots in the test results. This approach guarantees your screenshots always match the latest build, and you can script the entire capture across multiple localizations.
For even more automation, fastlane snapshot can run your UI tests across multiple device sizes and languages in one command, then organize the output by locale and device class.
The complete workflow: capture to upload
- Stage your app with realistic data, clean desktop, and the right feature visible
- Capture full-screen at native Retina resolution (Cmd + Shift + 3)
- Verify dimensions with
sips -g pixelWidth -g pixelHeight - Resize if needed to 2880 × 1800 or 2560 × 1600
- Flatten transparency if your screenshot has any alpha channel
- Add device frames and text using Shots.so, AppMockUp, or Figma
- Export final images as PNG, sRGB, no alpha, at the exact required dimensions
- Upload to App Store Connect under your app's version screenshots section
Repeat for each localization if your app is translated. Each language gets its own screenshot set, which means you need localized marketing text on each image.
LazyScreenshots captures pixel-perfect screenshots on Mac and lets you annotate, resize, and export in one keystroke. Perfect for App Store prep. $29 one-time.
Try LazyScreenshots — $29 one-time