TLDR
Why do exported app store screenshots look blurry and how do I keep @2x and @3x crisp? Most blur comes from upscaling a smaller capture, exporting at the wrong multiplier, or lossy JPG compression on UI text. Render at the largest native size ( 1290 by 2796 for iPhone), export as PNG, and never enlarge after capture.
Why do exported app store screenshots look blurry and how do I keep @2x and @3x crisp?
The blur almost never comes from the store. It comes from the moment you exported. A screenshot that looks crisp on your design canvas can lose half its pixels by the time it lands on the storefront if any of three things go wrong: the source capture was too small, the export multiplier did not match the device class, or a lossy format softened the UI text on its way out. Fix the export and the store listing follows.
The rest of this guide walks through each of those four root causes in order, explains the pixel math behind @1x, @2x, and @3x so you can pick the right one for every device class, and ends with format and color-profile rules so the file survives the upload pipeline intact.
The resolution math behind app store screenshots
@2x vs @3x app store screenshots. Apple's design tooling thinks in points. A 430 by 932 point iPhone canvas at @3x renders to 1290 by 2796 pixels — the exact 6.9-inch store size. At @2x it renders to 860 by 1864, which is too small for the 6.9-inch shelf and gets upscaled on the listing. At @1x it renders to 430 by 932, which Apple rejects. The multiplier is not a quality knob; it is the pixel-density rule the store enforces.
Native pixel counts for every accepted device. iPhone 6.9-inch is 1290 by 2796. iPhone 6.5-inch is either 1242 by 2688 or 1284 by 2778 depending on the device class submitted. iPad 13-inch is 2064 by 2752. iPad 12.9-inch is 2048 by 2732. Google Play phone screenshots accept any pixel size between 320 and 3840 per side with a max 2 to 1 aspect ratio. Microsoft Store accepts 1366 by 768, 1920 by 1080, 2160 by 2160, or 3840 by 2160. Hit one of these grids at capture time and you are done.

How upscaling and resampling algorithms destroy sharpness
Bilinear, bicubic, and Lanczos compared. Nearest-neighbour copies the closest pixel and produces visibly jagged blocks at any scale above 1.5x. Bilinear averages four neighbours and softens edges to hide the guess. Bicubic samples 16 neighbours and looks smoother but still adds a faint blur. Lanczos uses a windowed sinc filter that preserves edge contrast better, with the tradeoff of mild ringing near very high contrast transitions. For UI text and thin lines, Lanczos is the safest pick; for photographic backgrounds, bicubic.
Why downscaling preserves text and upscaling cannot. Shrinking averages information you already have. Even a naive bilinear downscale keeps text legible because every output pixel sees more than one input pixel. Enlarging is the opposite: you ask the algorithm to fabricate detail that was never captured, and every algorithm has to guess. The practical rule is one direction only: capture at or above the largest target dimension and let your tool downscale to the smaller device classes in a single pass.

Figma, Sketch, and Photoshop export settings that keep pixels sharp
Figma. Set the frame to the exact native pixel size — for example 1290 by 2796 for the iPhone 6.9-inch shelf — and export at 1x as PNG. Avoid the temptation to keep a smaller design frame and export at 2x or 3x; that path works in theory but routinely produces files that are a single pixel off the spec and get rejected on upload. Turn on Pixel Preview to spot softness on the canvas before exporting.
Sketch. In the Export panel, untick Trim, fix the slice to the native dimension, set Format to PNG, and Size to 1x. Sketch snaps to the pixel grid by default, so the only common failure mode is exporting a sub-frame instead of the full canvas.
Photoshop. Enable Snap Vectors To Pixel Grid under Preferences → General. Use File → Export → Export As, pick PNG-24, and confirm the canvas matches the target store size before saving. PNG-24 is the right choice for UI work; PNG-8 quantizes colors and softens gradients, and "Save for Web (Legacy)" defaults to 72 PPI metadata which can occasionally trip App Store Connect validation.

Fix blurry iOS screenshot upload before you press submit
Walk through these checks in order before submitting. Stopping at the first one that fails saves a rejection cycle.
1
Open the PNG in Preview (macOS) or any image viewer at exactly 100 percent zoom. Inspect a body-text region. If it looks soft here, the export is the problem and the storefront cannot rescue it.
2
Confirm the file is the exact spec dimension. 1290 by 2796 fails a 1284 by 2778 slot. Re-export from the source rather than resizing the existing PNG.
3
Verify the file is PNG, not JPG. JPG visibly softens text and gradients even at quality 100 because of chroma subsampling.
4
Confirm the color profile is sRGB IEC61966-2.1. Display P3 or CMYK files render fine locally but desaturate on upload.
5
Submit the largest required size as the master. For iPhone, that means 1290 by 2796 (6.9-inch). Apple downscales the master into smaller shelves; it does not upscale to larger ones.
6
After upload, check the listing preview in App Store Connect at the device-frame level. If the storefront preview is soft but your local file is sharp, you are looking at store-side downscaling, not a file problem.
App store screenshot resolution requirements by device and store
The full per-device pixel table lives in the App Store screenshot sizes 2026 reference. The table below summarizes the cross-store format and dimension rules so you can plan the export before opening Apple's docs.
| Store | Accepted formats | Pixel dimensions | Notes |
|---|---|---|---|
| App Store (iPhone 6.9-inch) | PNG, JPG, JPEG | 1290 x 2796 | Required base submission. Apple downscales this to the 6.5-inch shelf. |
| App Store (iPhone 6.5-inch) | PNG, JPG, JPEG | 1242 x 2688 or 1284 x 2778 | Submit explicitly if the 6.9-inch downscale renders poorly. |
| App Store (iPad 13-inch) | PNG, JPG, JPEG | 2064 x 2752 | Required base submission for iPad. Auto-scales to 12.9 and 11-inch. |
| Google Play (phone) | JPEG, 24-bit PNG (no alpha) | 320 to 3840 px per side, max 2:1 ratio | Higher source resolution gives the store more downscale headroom. |
| Google Play (feature graphic) | JPEG, 24-bit PNG (no alpha) | 1024 x 500 | Single graphic, not a screenshot carousel. Text-safe area applies. |
| Microsoft Store (Windows) | PNG, JPG | 1366 x 768, 1920 x 1080, 2160 x 2160, 3840 x 2160 | Pick the largest resolution your UI is designed for. |
Windows-friendly screenshot workflows without Mac-only tools
Why Mac-only workflows fail Windows devs. The standard recommendation — Xcode Simulator, Cmd+S — assumes you have a Mac under your desk. Cross-platform indies who build on Windows are left choosing between renting a Mac in the cloud, uploading raw UI to a browser-based generator, or wrestling with image editors that do not know Apple's current spec. None of those produce pixel-sharp output reliably.
The local capture path. For Android, connect a device and use Android Studio Emulator or scrcpy at native resolution to capture flat PNGs. For iOS-only apps from Windows, TestFlight on a borrowed device plus a cloud iOS simulator that supports image export is the lowest-friction route. In both cases, the raw capture never leaves your machine.
The local processing path. A native desktop app that ships current store presets exports each frame at the exact integer dimension Apple requires, flattens to 8-bit sRGB PNG with no alpha channel, and applies the correct file format — every export is upload-ready by default. No subscription, and the unreleased UI never crosses a third-party server. If App Store Connect still rejects a sharp file, the App Store Connect screenshot rejected guide walks through the metadata and format causes.
FAQ
Frequently asked questions
Export as PNG. PNG uses lossless compression, so UI text and thin lines stay perfectly crisp through upload. JPG visibly softens text edges at any quality below 100 because of chroma subsampling. WebP is not accepted by App Store Connect at all, and Google Play accepts only JPEG or 24-bit PNG.
For pixel sharpness on a screen, DPI is irrelevant. What matters is the pixel grid: 1290 by 2796 looks the same regardless of whether the metadata says 72 DPI or 300 DPI. The exception is App Store Connect validation, which has occasionally rejected files based on embedded DPI metadata. Re-exporting at 144 DPI usually clears those errors.
Figma renders the canvas vector-perfect on a Retina display, but a 1x PNG export at a smaller frame size produces fewer pixels than the store expects. The store viewer then upscales your file on the listing. Increase the frame to native size and export at 1x, or keep the frame and export at 2x or 3x.
No. Apple auto-scales the largest submitted size down to smaller slots, never up. An @1x submission means a smaller pixel grid than the device class requires, which Apple rejects or renders at low resolution. Always submit the highest required size (1290 by 2796 for iPhone) as the master.
Bicubic averages 16 neighbouring pixels and produces a smooth, slightly soft result. Lanczos uses a windowed sinc filter that preserves edge contrast better but can introduce ringing artifacts around hard transitions. For UI screenshots with crisp text, Lanczos generally wins on perceived sharpness; for photographic content, bicubic is safer.
Capture from a real or virtual Android device using Android Studio Emulator or scrcpy at native resolution. For iOS-only apps, use TestFlight on a borrowed device or a cloud iOS simulator that supports image export. Process the PNGs locally in a tool that knows store dimensions, never re-upload your unreleased UI to a third-party web service.
✦
Sharp on the first export
One-time $15.99. No subscription. A native desktop app for Mac and Windows that exports every store-ready screenshot at the exact integer dimension Apple requires — flat sRGB PNG, no alpha channel, no upscale.
macOS 12+ · Windows 10+ · One-time purchase
