Every release I end up re-checking the same thing: which screenshot sizes does App Store Connect want this year, and what will Google Play reject? Here are the official numbers in one place, plus the rules that trip people up. Sources are linked at the bottom.
App Store: what you actually have to provide
Apple accepts screenshots only at exact pixel sizes. A few pixels off and the upload fails.
| Display | Accepted portrait sizes (px) | Required? |
|---|---|---|
| iPhone 6.9" | 1320×2868, 1290×2796, 1260×2736 | Yes, for iPhone apps (or provide 6.5") |
| iPhone 6.5" | 1284×2778, 1242×2688 | Only if you don't provide 6.9" |
| iPhone 6.3" | 1206×2622, 1179×2556 | No (scaled from 6.5") |
| iPhone 6.1" | 1170×2532, 1125×2436, 1080×2340 | No (scaled from 6.5") |
| iPad 13" | 2064×2752, 2048×2732 | Yes, if your app runs on iPad |
| iPad 11" | 1668×2420, 1668×2388, 1640×2360, 1488×2266 | No (scaled from 13") |
Landscape versions of each size are accepted too. In practice, if you ship one iPhone set at 6.9" and, for iPad apps, one set at 13", the smaller displays are scaled from those.
Other rules:
- 1 to 10 screenshots per display size
- JPG or PNG
-
No alpha channel or transparency. This one bites people who export PNGs from design tools or from
<canvas>: a canvas PNG always has an alpha channel, even when every pixel is opaque. Exporting JPEG avoids it entirely.
Google Play: rules instead of a size list
Play doesn't publish a fixed list. Phone screenshots must be:
- JPEG or 24-bit PNG, no alpha
- Each side between 320 px and 3,840 px
- The long side no more than twice the short side. A tall modern phone capture (for example 1080×2400, which is 2.22:1) breaks this rule, so you can't upload raw screenshots from many current Android phones without adding padding or a background.
To be eligible for Play's large-format recommendation slots, apps need at least four screenshots at 1080 px or more, in 9:16 portrait (1080×1920 or larger) or 16:9 landscape.
The content guidelines also matter if you add marketing captions:
- Taglines should take up no more than 20% of the image
- Avoid performance, ranking, price or promo claims: "Best", "#1", "Top", "New", "Free", "Discount", "Sale", "Million Downloads"
- No calls to action like "Download now" or "Install now"
The feature graphic is separate: 1024×500, JPEG or 24-bit PNG, no alpha.
A layout that satisfies both stores
What has worked for me is a caption band at the top and the real screenshot below it, scaled to fit, never stretched:
// caption band: 18% on Play (under the 20% limit), ~22% on the App Store
const capH = Math.round(target.height * (target.store === "play" ? 0.18 : 0.22));
const pad = Math.round(target.width * 0.08);
const boxW = target.width - pad * 2;
const boxH = target.height - capH - pad;
const scale = Math.min(boxW / shot.width, boxH / shot.height); // fit, keep aspect ratio
const w = Math.round(shot.width * scale), h = Math.round(shot.height * scale);
const x = Math.round((target.width - w) / 2);
const y = capH + Math.round((boxH - h) / 2);
Render it on a canvas at the exact target size, then canvas.toBlob(cb, "image/jpeg", 0.92) so there is no alpha channel to worry about.
I got tired of doing this by hand, so I built a small browser tool that does exactly this: you add captions to your screenshots and it exports every size above, checks them against these rules (including flagging the Play-banned words in your captions), and nothing gets uploaded: App Store & Google Play screenshot generator. Disclosure: I made it. Previews are free; downloading the full set is a one-time payment.
Sources
- Apple: App Store Connect Help — Screenshot specifications
- Google: Play Console Help — Add preview assets to showcase your app
Both checked October 2026. If you've hit a rejection reason that isn't covered here, I'd like to hear it in the comments.
Top comments (0)