When you upload photos to Apple Photos/iCloud Photos on the web and it just spins, sits at 0%, or fails with no message, it’s usually a small handoff issue: a blocked pop-up/permission, a stalled tab process, or a network rule that interrupts large file transfers.
Start with the quickest “no-regrets” fix, then move to deeper checks only if you need them.
Support-boundary playbook: each section ends with a clear stop point so you don’t waste time (or accidentally break sign-ins) chasing the wrong layer.
1. Fastest fix: hard-reload the upload page and try one small image
This sounds basic, but it’s the quickest way to reset a stuck upload pipeline without touching cookies or your library.
- Open the iCloud Photos web page in the same tab where it’s stuck.
- Do a hard reload (not just refresh). If you’re not sure how in your browser, close the tab and reopen the page instead.
- Try uploading one small JPG/PNG first (not a huge HEIC burst, Live Photo, or a large video).
If a small image uploads but large ones don’t, skip ahead to section 4 (network and file-size friction).
Stop point: If nothing uploads at all after a clean reload and a single small file test, go to section 2.
2. Confirm the basics that break uploads: storage, sign-in state, and time
Web uploads can fail “quietly” when the session is half-valid or storage is at the limit.
- Check iCloud storage: if you’re at/near full, uploads may stall. Free space or upgrade, then retry.
- Sign out/in (web only): sign out of iCloud.com in that browser, then sign in again.
- Check device time/time zone: make sure the computer’s date/time is set automatically. Incorrect time can break authentication and background transfer handshakes.
Keep this step contained to the browser you’re using for uploads.
Stop point: If you can’t stay signed in (looping, repeated prompts), don’t keep retrying uploads. Fix sign-in stability first; then come back to uploads.
3. Quick permission reset without nuking everything: allow pop-ups and cross-site cookies for iCloud
iCloud web flows can depend on redirects and cookie handoffs. If your browser blocks them, you may see endless spinners or “nothing happens” after selecting files.
- Disable strict tracking protection for iCloud.com (site-specific if your browser allows it).
- Allow pop-ups/redirects for iCloud.com and Apple ID domains during the upload attempt.
- Allow cross-site cookies temporarily or add an exception for iCloud.com.
Then retry one small file.
Stop point: If you must keep strict blocking enabled (work policy or personal preference), skip to section 5 and try a different browser profile just for the upload.
4. When “0% forever” is really network friction: VPNs, proxies, and Wi‑Fi rules
Large photo uploads are sensitive to interruptions. A VPN, privacy relay, corporate proxy, or “helpful” router setting can cause uploads to restart or hang.
- Temporarily pause VPN/proxy and retry.
- Switch networks (home Wi‑Fi → phone hotspot, or vice versa) to see if it’s a network policy issue.
- Try a different DNS only if you already know how (this is optional). If DNS changes are unfamiliar, skip it.
- Avoid uploading from network drives or cloud-synced folders; copy the photo locally first, then upload.
If uploads work on a different network, the fix is usually at the network layer (firewall rules, content filters, or VPN stability), not your Apple account.
Stop point: If you’re on a managed/work network and it fails there but works elsewhere, stop troubleshooting the browser. Ask IT whether iCloud upload endpoints are blocked.
5. Clean test without losing your main browser setup: a fresh profile or private window
Extensions and old site data can interfere with upload dialogs or background transfers.
- Try a private/incognito window and sign in to iCloud.com there.
- If private mode works, create a fresh browser profile dedicated to iCloud web use (minimal extensions).
- Disable extensions that can break uploads: ad blockers, script blockers, “privacy” header modifiers, download managers.
Only if needed: clear site data for iCloud.com (not your entire browser history) and sign in again.
Stop point: If uploads work in a fresh profile but not your main one, don’t keep guessing. Re-enable extensions one by one to find the conflict.
6. File-specific blockers: HEIC quirks, huge batches, and naming issues
Sometimes the page is fine, but a particular file (or batch) is the trigger.
- Upload in small batches (5–20 files) instead of hundreds at once.
- Test a different format: if HEIC stalls, export one photo as JPG/PNG and try again.
- Watch for unusual filenames: very long names or special characters can cause edge-case failures on web uploaders.
- Try a different album (or upload to the root/library) to rule out an album permission glitch.
Stop point: If only certain files fail repeatedly across browsers and networks, stop changing settings. Isolate the failing file(s) and convert/export them, then retry.
7. The clear support boundary: what to collect before contacting Apple
If you’ve confirmed it fails across networks or across browsers (fresh profile), it’s time to stop burning hours and move to support with a clean, reproducible description.
- The browser name/version and OS version
- Whether it fails on another network (yes/no)
- Whether it fails in a private window or fresh profile (yes/no)
- Approximate file type and size (example: HEIC 8MB, JPG 2MB)
- Any error text (even partial) and the time it occurred
Stop point: If your uploads contain sensitive photos, avoid screen recordings. A short written summary is usually enough.
Final thoughts
The fastest wins are usually: hard-reload, test one small file, then temporarily loosen site-specific cookie/pop-up blocking for iCloud.
If it only fails on one network or only with certain files, that’s your sign to stop tweaking everything and focus on the layer that’s actually responsible.