TLDR
App Store Connect rejects correctly-sized screenshots when the file carries a hidden alpha channel, uses a non-RGB color space like CMYK, sits in the wrong device slot, or hits a server-side upload bug. Fix it by flattening the alpha channel, converting to sRGB, matching the slot, and re-uploading one file at a time.
Why does App Store Connect reject my correctly-sized screenshot, and how do I fix it?
Pixel dimensions are only the first of several checks Apple's validator runs. Even a file exported at the exact 1320x2868 spec can fail if it carries a hidden alpha channel, sits in a CMYK profile, or is uploaded to a shelf that expects a different aspect ratio. The four causes worth investigating before anything else are file metadata (color space, alpha), the device slot you picked in App Store Connect, batch upload race conditions, and the rare but real server-side parser outage on Apple's end.
Content rejection vs upload error: two different problems
Upload error signals: the file never attaches, you see IMAGE_TOOL_FAILURE, "Image dimensions are not valid", or a progress bar that snaps back to zero. These happen instantly, before a human has looked at anything.
Content rejection signals: the file uploads fine, the build submits, and then days later you get a Resolution Center message citing guideline 2.3 (accurate metadata), misleading copy, or showing UI that does not exist in the build. These are review decisions, not parser failures, and the fix is to re-shoot the screenshot — not to re-export it. What Apple allows on a screenshot in the first place, and how to design a set that passes review, is in how to design App Store screenshots. A common content rejection for universal apps is an iPad set built by stretching iPhone screenshots; the iPad screenshot size guide shows how to build a real 13-inch set.
Map the error message to its real cause
Match the message you actually see to the row below before applying any fix. Most teams burn an afternoon on the wrong cause because two different errors look similar in the UI.
| Error message / symptom | Likely root cause | Where it happens | Fix |
|---|---|---|---|
Image dimensions are not valid | File is off-spec, often by one pixel | Upload | Re-export at the exact integer dimension |
Wrong aspect ratio for selected device | Asset uploaded to the wrong device shelf | Upload | Move to the matching display class slot |
IMAGE_TOOL_FAILURE | Hidden alpha channel or multi-file upload bug | Upload | Flatten the PNG, upload one file at a time |
Color space not supported | File is CMYK or Display P3, not sRGB | Upload | Convert the profile to sRGB IEC61966-2.1 |
Unsupported file format | WebP, HEIC, or TIFF instead of PNG / JPEG | Upload | Re-export as flat 8-bit PNG or JPEG |
File size exceeds limit | Single image is over 10 MB | Upload | Re-export at a lower quality or as JPEG |
Upload failed / timeout / generic error | Server-side App Store Connect outage | Upload | Delete the asset, wait, retry one file at a time |
Screenshot does not match the user experience | Shown UI differs from the submitted build | Review | Re-shoot with the real shipping build |
Misleading or inaccurate metadata (guideline 2.3) | Marketing copy or content overlay misrepresents the app | Review | Remove the false claim and resubmit |
How to strip the alpha channel and fix the color space
Check for an alpha channel. In Preview on macOS, open the file and choose Tools → Show Inspector; if the "Has alpha" row says Yes, the PNG carries transparency Apple will reject. In Photoshop, look at the Channels panel — anything beyond R, G, B is an alpha. The fix is to flatten the file onto a solid background and re-export as 8-bit PNG with the alpha layer removed.
Convert CMYK or P3 to sRGB. A screenshot exported from a print-oriented document, or a designer mockup that inherited a Display P3 profile, can render correctly on screen but fail the upload. In Preview, choose Tools → Assign Profile → sRGB IEC61966-2.1. In Photoshop, Edit → Convert to Profile → sRGB. Re-upload the converted file; this alone resolves a large share of IMAGE_TOOL_FAILURE cases.

The ordered troubleshooting checklist
Steps 1–4: the file itself.
1
Confirm the file is the exact spec dimension. 1320x2867 fails 1320x2868. Re-export at the integer value, not a scaled approximation.
2
Strip the alpha channel. Flatten the PNG onto a solid background; export as 8-bit PNG with no transparency.
3
Verify the color space is sRGB. Convert any CMYK or Display P3 profile to sRGB IEC61966-2.1.
4
Confirm the format is PNG or JPEG. WebP, HEIC, and TIFF are rejected even at the correct dimensions.
Steps 5–8: the upload path.
5
Match the device slot. A 6.9-inch asset uploaded to the 6.5-inch shelf fails on aspect ratio even though both are valid sizes individually.
6
Shorten the filename. Long or special-character filenames have been observed to trigger IMAGE_TOOL_FAILURE; rename to something like ss1.png and retry.
7
Upload one file at a time. Batch uploads, especially across two display sizes at once, frequently trigger a failure loop.
8
Switch browser or use a private window. Safari, Chrome, and Firefox handle the App Store Connect uploader slightly differently; a stuck session in one often clears in another.
When nothing works: if every file check passes and you have cycled the browser, you are almost certainly looking at a server-side issue on Apple's end. Delete the half-uploaded asset, wait an hour or two, and re-upload one file at a time. Apple's developer forums document recurring server-side upload outages whose only resolution is patience.

App Store screenshot software that works on Windows without a Mac
Why Mac-only workflows fail Windows devs. The standard recommendation — Xcode simulator, Cmd+S — assumes you have a Mac sitting under your desk. Cross-platform indie developers who build on Windows are left with a choice between renting a Mac in the cloud, uploading raw captures to a browser-based generator, or wrestling with image editors that do not know Apple's latest spec.
What a local export tool handles for you. A native desktop app that ships current store presets exports each frame at the 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. The raw UI never leaves your machine, which also closes the pre-launch leak surface created by uploading screenshots of unreleased features to a third-party server.
For the full per-device pixel table referenced throughout this article, see the App Store screenshot sizes 2026 reference. Two companion articles — one on the privacy tradeoffs of uploading unreleased UI to a web tool, and one on a complete pre-submission QA checklist for every store — are coming soon.
FAQ
Frequently asked questions
IMAGE_TOOL_FAILURE is usually triggered by a hidden alpha channel in the PNG, a non-RGB color space, or uploading several screenshots simultaneously. Flatten the image to remove transparency, confirm it is sRGB, shorten the filename, and upload one file at a time. If the error persists across browsers, it may be a temporary server-side issue on Apple's end.
The file is likely one pixel off, in the wrong device slot, or carries the wrong aspect ratio. Apple's parser is exact, so 1320x2867 fails a 1320x2868 requirement. Re-export at the precise dimension, confirm you are uploading to the matching device shelf, and verify the orientation before retrying.
Yes. Even at the exact pixel size, a screenshot fails if it has an alpha channel, uses CMYK or an unsupported format like WebP, exceeds 10 MB, or shows content that breaks Apple's guideline 2.3 accurate-representation rules. Dimensions are only one of several checks the file must pass.
You do not need a Mac. Capture your raw UI, then use a local Windows tool that knows the current store dimensions and exports flat sRGB PNGs with no alpha channel. This avoids both recurring web-subscription tools and uploading unreleased UI to a third-party server before launch.
Upload one at a time if you hit IMAGE_TOOL_FAILURE. Batch uploads, especially across two display sizes at once, can trigger a failure loop in App Store Connect. Single-file uploads with short filenames are the most reliable path when the bulk upload keeps failing.
✦
Pass the validator on the first try
One-time $15.99. No subscription. A native desktop app for Mac and Windows that exports every store-ready screenshot as flat sRGB PNG with no alpha channel — upload and ship without the rejection loop.
macOS 12+ · Windows 10+ · One-time purchase
