This article was created with the help of AI. The sizes were checked against Apple's and Google's spec pages on November 6, 2026, and the check script was run on macOS 15.2 (Python 3.14, Pillow 13.0.0) with screenshots from an iOS 18.3 simulator in Xcode 16.2. The spec pages can change, so the upload page in App Store Connect or Play Console is the final word.
Apple reorganized its screenshot spec page, and the sizes a lot of people keep in their notes don't match it anymore. Below is where both stores stand right now, with links to the original pages.
TL;DR
App Store
- 1 to 10 screenshots per device size, in
.jpeg,.jpgor.png. No alpha channel, even if every pixel is opaque. - iPhone: the top of the page says you need at least one screenshot for "iPhone with Dynamic Island (medium display)", which is 1206 × 2622 or 1179 × 2556. Further down, a different row is marked as conditionally required. Details below.
- iPad, if your app runs on iPad: at least one 13-inch screenshot, 2064 × 2752 or 2048 × 2732 (or landscape).
- Apple Watch: one of six sizes, and the same size in every localization.
Google Play
- Phone screenshots: JPEG or 24-bit PNG with no alpha, each side between 320 and 3,840 px, and the long side no more than twice the short side. Up to 8 per device type, at least 2 to publish.
- To be eligible for the large recommendation formats: at least 4 screenshots, 9:16 at 1080 × 1920 or larger (or 16:9 at 1920 × 1080 or larger).
- Feature graphic: 1024 × 500, JPEG or 24-bit PNG, no alpha. Required.
- App icon: 512 × 512, 32-bit PNG, up to 1,024 KB.
Apple: iPhones are now grouped by display type
If you still think in "6.9-inch" and "6.5-inch", those labels are gone from the page text. Apple's Screenshot specifications page now uses rows like "iPhone with Dynamic Island (large display)", and each row lists the devices it covers.
| Row on the page | Portrait sizes (px) | Some of the devices listed | What the row says |
|---|---|---|---|
| iPhone with Dynamic Island (large display) | 1260 × 2736, 1290 × 2796, 1320 × 2868 | iPhone Air, 18 Pro Max, 17 Pro Max, 16 Pro Max, 16 Plus | If missing, scaled Face ID (large) screenshots are used |
| iPhone with Face ID (large display) | 1284 × 2778, 1242 × 2688 | iPhone 14 Plus, 13 Pro Max, 11 Pro Max, XR | "Required if app runs on iPhone and screenshots for iPhone with Dynamic Island (large display) aren't provided" |
| iPhone with Dynamic Island (medium display) | 1179 × 2556, 1206 × 2622 | iPhone 18 Pro, 17 Pro, 17, 16 Pro, 16 | If missing, scaled Face ID (large) screenshots are used |
| iPhone with Face ID (medium display) | 1170 × 2532, 1125 × 2436, 1080 × 2340 | iPhone 17e, 16e, 14, 13 | If missing, scaled Dynamic Island (medium) screenshots are used |
| iPhone with Home Button (large display) | 1242 × 2208 | iPhone 8 Plus, 7 Plus | If missing, scaled Face ID (medium) screenshots are used |
Landscape is the same pair, swapped. The older Home Button sizes are still listed.
The "required" wording points two ways
At the top of the page, under "Required device sizes":
iPhone: At least one screenshot for iPhone with Dynamic Island (medium display).
But in the table, the Face ID (large display) row is marked "Required if app runs on iPhone and screenshots for iPhone with Dynamic Island (large display) aren't provided."
Then there's the scaling note. If your UI is the same across sizes, "you only need to provide screenshots for the highest required resolution. App Store Connect automatically scales them down for smaller device sizes."
From the page alone, you can't tell which slot App Store Connect will insist on for a particular app. One way to cover both readings: design at 1320 × 2868, open your app's version page in App Store Connect to see which screenshot slots are marked as required, and export a 1206 × 2622 set as well if it asks for the medium size. Apple doesn't spell this out anywhere, so treat it as a workaround.
The extra export costs almost nothing, because two pairs of sizes are nearly the same shape:
- 1320 × 2868 and 1206 × 2622 (aspect ratios 0.4603 and 0.4600)
- 1290 × 2796 and 1179 × 2556 (0.4614 and 0.4613)
Scaling one into the other changes the proportions by less than 0.1%.
New on the page: iPhone Duo
There's also a new "iPhone Duo" row, with an outer display (1398 × 2034) and an inner display (2007 × 2853). The page says: "Starting in April 2027, screenshots will be required for any app using the iOS 27.1 SDK or later." If you don't target it, there's nothing to do yet. It's worth a line on next spring's checklist, though.
iPad and Apple Watch, briefly
- iPad 13-inch (2064 × 2752 or 2048 × 2732, plus landscape): "Required if app runs on iPad." The 12.9-inch and 11-inch rows fall back to scaled 13-inch screenshots.
- Take iPad screenshots on an iPad or in the iPad simulator. Stretching iPhone screenshots won't work: 1320 × 2868 is about 0.46 wide-to-tall, and 2064 × 2752 is 0.75.
- Apple Watch: 422 × 514 (Ultra 4, Ultra 3), 410 × 502 (Ultra 2, Ultra), 416 × 496 (Series 12, 11, 10), 396 × 484 (Series 9, 8, 7), 368 × 448 (Series 6, 5, 4, SE) or 312 × 390 (Series 3, 2, 1). Pick one and stick with it: "You must use the same screenshot size for Apple Watch consistently across all localizations for the app."
- Mac (16:10, from 1280 × 800 to 2880 × 1800), Apple TV (1920 × 1080 or 3840 × 2160) and Apple Vision Pro (3840 × 2160) have their own rows if you ship there.
Google Play
The numbers come from Play Console Help, Add preview assets to showcase your app:
| Asset | Requirement |
|---|---|
| Phone screenshots | JPEG or 24-bit PNG (no alpha); min side 320 px, max side 3,840 px; long side at most 2× the short side; up to 8 per device type; at least 2 across device types to publish |
| Recommendation formats (apps) | At least 4 screenshots at 1080 px or more: 9:16 portrait (min 1080 × 1920) or 16:9 landscape (min 1920 × 1080) |
| Tablets and Chromebooks | At least 4 screenshots, 1,080 to 7,680 px, 16:9 or 9:16 |
| Wear OS | 1:1, at least 384 × 384, interface only, no device frames |
| Feature graphic | 1024 × 500, JPEG or 24-bit PNG (no alpha), required |
| App icon | 512 × 512, 32-bit PNG (with alpha), max 1,024 KB |
Plenty of Android phones save screenshots at 1080 × 2400. That's 2.22 times as tall as it is wide, so it fails the 2× rule as is. Put it on a 9:16 canvas rather than stretching it.
The same page also has content guidelines. Most of them sit under "Highly recommended", so they aren't hard rules, but read them before you start designing:
- Taglines "should not take up more than 20% of the image."
- No "Best," "#1," "Top," "New," "Discount," "Sale," or "Million Downloads," and no calls to action such as "Download now."
- "Do not show service providers or notifications. The battery, WiFi, and cell service logos should be full."
- "Device imagery (as this can become obsolete quickly or alienate some users)" is on the list of elements to avoid, for both screenshots and the feature graphic.
That last one matters if you were planning to put every Play screenshot in a phone frame.
A pre-upload check (Python + Pillow)
Neither store accepts an alpha channel, and the PNGs the iOS simulator saves have one. This script flags that, along with wrong sizes, before you start an upload:
"""Pre-upload check for store screenshots: python check_shots.py apple|play FILES..."""
import sys
from PIL import Image
APPLE = { # portrait sizes; landscape is the same pair swapped
"iPhone Dynamic Island (large)": [(1260, 2736), (1290, 2796), (1320, 2868)],
"iPhone Dynamic Island (medium)": [(1179, 2556), (1206, 2622)],
"iPhone Face ID (large)": [(1284, 2778), (1242, 2688)],
"iPad 13-inch": [(2064, 2752), (2048, 2732)],
}
def check(store, path):
im = Image.open(path)
w, h = im.size
short, long_ = min(w, h), max(w, h)
errors, notes = [], []
if im.format not in ("PNG", "JPEG"):
errors.append(f"format is {im.format}")
if im.mode in ("RGBA", "LA", "PA") or "transparency" in im.info:
errors.append(f"has an alpha channel ({im.mode})") # rejected even if every pixel is opaque
if store == "apple":
hits = [name for name, sizes in APPLE.items() if (short, long_) in sizes]
if hits:
notes.append(hits[0])
else:
errors.append("size is not on the list")
else:
if short < 320 or long_ > 3840:
errors.append("outside 320-3840 px")
if long_ > 2 * short:
errors.append(f"long side is {long_ / short:.2f}x the short side (max 2x)")
elif short < 1080:
notes.append("fine to publish, but under 1080 px for recommendation slots")
return f"{w}x{h}", errors, notes
if __name__ == "__main__":
store, files = sys.argv[1], sys.argv[2:]
failed = 0
for f in files:
size, errors, notes = check(store, f)
failed += bool(errors)
print(f"{'FAIL' if errors else 'ok '} {f} {size} " + "; ".join(errors + notes))
sys.exit(1 if failed else 0)
The test files were a PNG and a JPEG straight from the iOS simulator, plus a few blank images at awkward sizes. Output:
$ python check_shots.py apple sim.png sim.jpg iphone_large.png off_by_one.png ipad_land.jpg
FAIL sim.png 1206x2622 has an alpha channel (RGBA); iPhone Dynamic Island (medium)
ok sim.jpg 1206x2622 iPhone Dynamic Island (medium)
ok iphone_large.png 1320x2868 iPhone Dynamic Island (large)
FAIL off_by_one.png 1290x2795 size is not on the list
ok ipad_land.jpg 2752x2064 iPad 13-inch
$ python check_shots.py play pixel_20x9.png play_916.jpg play_small.jpg play_webp.webp
FAIL pixel_20x9.png 1080x2400 long side is 2.22x the short side (max 2x)
ok play_916.jpg 1080x1920
ok play_small.jpg 720x1280 fine to publish, but under 1080 px for recommendation slots
FAIL play_webp.webp 1080x1920 format is WEBP
If anything fails, it exits with 1, so it can sit in CI. It only knows the iPhone and iPad sizes listed above. Add Watch or Mac sizes if you ship there.
On a Mac you can skip Python for a quick look. sips checks the size and the alpha channel, and converts to JPEG:
sips -g pixelWidth -g pixelHeight -g hasAlpha shot.png
sips -s format jpeg -s formatOptions 90 shot.png --out shot.jpg
On the simulator PNG, the first command printed hasAlpha: yes. The JPEG from the second printed hasAlpha: no, still at 1206 × 2622.
Ways to produce the set
- A design tool. Set up frames at the exact sizes in Figma or something like it, then export JPEG, or PNG without alpha.
-
fastlane.
snapshotgrabs screenshots from your UI tests andframeitadds device frames and captions. Handy if you want the whole thing scripted.
Whatever you use, run the check above before uploading.
FAQ
What size should App Store screenshots be in 2026?
For iPhone, the page names "iPhone with Dynamic Island (medium display)" (1206 × 2622 or 1179 × 2556) as the required size. It also marks Face ID (large display) (1284 × 2778 or 1242 × 2688) as required when you don't provide the large Dynamic Island size (up to 1320 × 2868). Your app's version page in App Store Connect settles it. For iPad, 2064 × 2752 or 2048 × 2732.
Do I need iPad screenshots?
Only if your app runs on iPad, and then you need at least one 13-inch screenshot.
What are the Google Play screenshot requirements?
JPEG or 24-bit PNG without alpha, each side between 320 and 3,840 px, and the long side no more than twice the short side. You need at least 2 to publish and can add up to 8 per device type. For the recommendation formats, upload at least 4 at 1080 × 1920 (9:16) or larger.
What tools can I use to create App Store screenshots online?
Figma or another design tool, with frames at the exact sizes. fastlane's snapshot and frameit if you'd rather automate it from UI tests. There are also browser-based screenshot generators; compare their export sizes with the table above, and run the pre-upload check on whatever they give you.
Sources
- Apple, Screenshot specifications: https://developer.apple.com/help/app-store-connect/reference/app-information/screenshot-specifications
- Google, Add preview assets to showcase your app: https://support.google.com/googleplay/android-developer/answer/9866151

Top comments (0)