Why Won't My iPhone Photos Upload? (And How to Fix It)
You're filling out a form — a job application, an ID verification, a marketplace listing — and it asks for a photo. You pick a recent one from your iPhone. Instead of uploading, you get something like "unsupported file type," or the upload just quietly fails and nothing happens. The photo looks completely normal in your camera roll. So what's going on?
It's the file format, not the photo
Since 2017, iPhones save new photos as HEIC by default instead of the JPG format almost everyone grew up with. HEIC does a genuinely good job — it packs the same photo into roughly half the file size of an equivalent JPG with no visible quality loss, which matters when you're taking hundreds of photos a month.
The catch: plenty of websites, forms, and older apps were never built to read HEIC files, especially ones that need to work reliably across every browser and device. They're expecting a JPG, and when they get a HEIC file instead, they either reject it outright or fail silently.
This shows up in a lot of places — content platforms like WordPress and Shopify won't accept .heic files in their media libraries, print services like Shutterfly and CVS Photo don't recognize them, and even iCloud.com's own upload page rejects HEIC files. Whatever it's called on the way in — "unsupported file format," "invalid file type," or "we don't support this file format" — it's the same underlying problem.
You can usually confirm this is what's happening by checking the file — if its name ends in .HEIC or .HEIF, that's the problem.
How to fix it
Drop the HEIC file into img-compress — it reads HEIC photos directly (works on Safari, which is what most iPhones and Macs use) and lets you save it back out as a JPG or PNG that any form or website will accept. Nothing gets uploaded anywhere in the process; the conversion happens right there in your browser, so it's just as quick for one photo as it is for a whole batch.
Why doesn't everything just support HEIC?
Short version: HEIC uses newer, more complex compression technology than JPG, and getting a website or app to read it properly is more involved than you'd expect — complicated enough that not every browser has built it in. JPG has been the universal, no-surprises default for three decades, so a lot of software still treats it as the safe assumption. Converting a HEIC photo to JPG when you actually need to upload it somewhere is, realistically, the path of least friction.