
"App Store Screenshots Not Uploading: Find the Step That Failed"
Why App Store Connect refuses a screenshot, leaves it processing, or blocks submission with uploads in progress, and how to clear each case without starting the whole set over.
On this page
When App Store screenshots won't upload, the cause is usually one of four things: the file itself, a version that can't be edited, an account role without upload rights, or an upload that started and never finished. Work out which of the four you have before you retry, because re-dragging the same file can help with an unfinished upload and does nothing for the other three.
A screenshot upload in App Store Connect has more steps than the drag suggests. Apple's asset upload documentation describes four steps for tools that use the App Store Connect API, such as fastlane: reserve a slot for the file, send the bytes, commit the upload with a checksum, and wait while Apple validates and processes the image. On the website you only see the drop and the result, but the same distinction between sending a file and Apple finishing it shows up there too. A refusal at the drop means the file failed a check. A placeholder that never turns into an image means processing stalled. And an error at submission that says "There are still screenshot uploads in progress" usually means at least one upload was started and never finished. Each of those points to a different fix, which is why the table below starts from the symptom.
Symptom, cause, and first fix
| What you see | Likely cause | First thing to try |
|---|---|---|
| The well refuses the file, or an error names dimensions | Wrong pixel size for the device slot, a transparent PNG, or a file that isn't really PNG or JPEG | Check the file, then re-export it |
| There's no drop area, or the screenshots can't be removed | The version isn't in an editable state | Create a new version, or check the version status |
| You can see the listing but can't change media | Your role doesn't include screenshot uploads | Ask an Account Holder or Admin to change your role |
| A tile stays a gray image with a cloud icon, or says it's processing | Apple hasn't finished processing that file | Wait a few minutes, then delete and re-add that one file |
| Submission fails with "still screenshot uploads in progress" | An upload was started but never finished | Find the unfinished tile in every device size and language, delete it, and upload again |
| fastlane or a script reports a 500 error partway through | Apple's API returned server errors during a large batch, leaving some uploads unfinished | Re-run for the missing files only, then check the order |
The file is refused at the drop
Apple accepts 1 to 10 screenshots per device size and language, in .jpeg, .jpg, or .png. The size has to be one of the exact pixel sizes listed for that display class. Check PNG files for an alpha channel as well, since a PNG exported with transparency can carry one even when the image looks solid. A HEIC renamed to .png fails too, because the extension doesn't change the data inside. Drop your exported files into the free screenshot size checker before the next attempt: it reads each file in your browser and reports the real format, the display class the dimensions match, and whether an alpha channel is present. It won't resize or fix the file, so if the size is the problem, the App Store screenshot resizer guide explains when to scale, pad, or crop to reach an accepted size. Also check that you dropped the file on the right tab, since a correct iPad file fails in an iPhone well.
No place to drop, or no permission to change it
Apple only lets you upload screenshots while the version is in one of five states: Prepare for Submission, Invalid Binary, Rejected, Metadata Rejected, or Developer Rejected. A version that's waiting for review, in review, or ready for sale shows its screenshots but won't accept new ones. For a live app, that means creating a new version in App Store Connect and uploading to that draft, even if the only change is the screenshots. Your account role also decides whether you can upload. The upload help page lists Account Holder, Admin, App Manager, and Marketing as the roles that can upload, so a Developer or Customer Support login sees the listing without the controls to change it.
Processing that never finishes
Once a file is sent, Apple validates and processes it before it appears as an image. Apple's API documentation says this usually takes a few seconds to a few minutes for screenshots; app previews are a separate case, and the help page allows up to 24 hours for those. Developers on Apple's forums describe a file at this stage as a gray image with a cloud icon, labeled as uploaded and processing.
If a tile is still processing well past Apple's few-minute estimate (ten minutes is a reasonable point to stop waiting), delete that tile and upload the file again on its own. Developers report two other fixes that worked for them: waiting several hours when the delay was on Apple's side, as an answer in a Stack Overflow thread about uploads in progress suggests, and re-saving the image in an editor before uploading it again, suggested in a Reddit thread on slow screenshot processing. Neither is guaranteed, and it's worth checking the Apple Developer System Status page before you spend an hour re-exporting files that were fine. The "still screenshot uploads in progress" error is usually the same problem found later. According to an answer on Apple's developer forums, it means an upload was started and never finished somewhere in the version, and App Store Connect won't submit the version until it's either complete or gone. Open Media Manager with View All Sizes, check every device size in every language you've added, and delete any placeholder that isn't showing an image. Then upload those files again, one at a time if a batch keeps stalling.
Scripts and fastlane that stop halfway
Uploads through the API fail in a different way, because a tool sends many files quickly and each one goes through the reserve, send, commit, and process steps separately. A request that fails in the middle leaves the set with some new screenshots, and sometimes an unfinished reservation. The fastlane issue about 500 errors on large uploads describes the pattern: overwrite a set across 15 languages, get server errors partway through, and have to start over, with one commenter reporting screenshots that uploaded in the wrong order. Apple's documentation gives the rules for a clean retry. A lost connection before commit can be retried for just the failed parts, an upload should be finished within about a week of its reservation, and a FAILED file has to be deleted and reserved again. After a partial run, compare each device size and language against your source folder, remove leftovers, upload only the missing files, and check the order by eye before submitting. Splitting a large run by language is slower, but a failure then costs one language instead of all of them.
Uploading from Screenies
For a linked app, Screenies uploads a finished English batch to the en-US listing of an editable version through the same App Store Connect API, and reports each file as uploaded, still processing on Apple's side, rejected by Apple, or unknown, so a stalled file shows up before you try to submit. It saves the current screenshots as a backup before replacing them, and it can create a draft version when the live one is locked. Upload needs a workspace with a completed credit purchase, which comes from a one-time credit pack, and it doesn't cost extra credits. The steps and the manual route for other languages are in the App Store Connect upload guide.
Upload questions
Why does a screenshot I already uploaded show up for the wrong language?
Each language has its own screenshot sets, chosen with the language menu at the top right of the version page. If you uploaded while a different language was selected, the files went to that listing. Switch the language and upload there, then remove the misplaced copies.
Can I replace screenshots on a live app without a new build?
You can't, because approved versions don't accept screenshot changes. The new screenshots go on a new version, and that version is submitted for review with a build. Plan screenshot-only updates alongside your next release when you can.
Do I have to upload every iPhone size for the upload to work?
You only need the required size for each device family, and Apple scales it down for smaller displays. The screenshot sizes page lists the required sizes and which classes fall back to which.
My upload worked, but App Review rejected the screenshots. Is that the same problem?
Those come from separate checks. Upload errors are about the file and the version state, while review rejections are about content, such as screenshots that don't show the app in use. The screenshot requirements page covers what reviewers look for.
How long should I wait before deleting a processing screenshot?
Apple's documentation puts screenshot processing at seconds to a few minutes. Ten minutes is a sensible point to delete and re-upload that single file, unless Apple's status page shows an App Store Connect issue, in which case waiting is the better option.
If you're about to try again, run the files through the size checker first. The export and upload step in the guide to how to make App Store screenshots shows which device tab each set belongs in.
Related guides

App Store Screenshot Resizer: Fix a Refused Size Without Stretching
Why App Store Connect refuses a screenshot, which target size to resize to, and how to scale, pad, or crop a capture without distorting it.

Generate App Store Screenshots With Codex
Register the Screenies MCP server with codex mcp add, set the approval mode and sandbox network access once, and let Codex turn your Simulator captures into an App Store screenshot set.

Best App Store Screenshot Generator for Your Next Release
Seven App Store screenshot tools, five editors and two generators, compared on price, who designs the set, revision cost, and upload, plus a one-hour test on your own captures.