iPhone

Why your iPhone photo won't upload, and the setting that stops it happening again

The photo works in Messages and fails on the job portal. Apple's own documentation explains why — and the word doing all the damage is 'might'.

Muhammad Hasnain, founder and lead engineer of Nainnie Labs
Muhammad Hasnain6 min read

On this page

You attach the photo. The form thinks for a second and says the file type is not supported — or worse, accepts it and shows an empty grey box where your picture should be.

The same photo looks perfect in your camera roll. You sent it to someone yesterday and it arrived fine. So it is tempting to conclude the website is broken.

It is not. The photo is in a format the website was never going to accept, and the reason it worked yesterday is the most confusing part of all this.

The photo is fine, the format is not

Since iOS 11, iPhones have saved photos as HEIF — the files end in .heic — rather than JPEG. Apple's reasoning, from Using HEIF or HEVC media on Apple devices, is straightforward:

HEIF and HEVC offer better compression than JPEG and H.264, so they use less storage space

on your devices and in iCloud Photos, "while preserving the same visual quality."

That is a genuine engineering win. The same picture, noticeably smaller, no visible loss. For a phone holding fifteen thousand photos it adds up to real money in storage.

The problem is everything else. Upload forms, web applications, government portals and HR systems were mostly written to accept JPG and PNG, and a great many of them check the file against a short list of allowed types. HEIC is not on the list. Your photo is not rejected for being bad; it is rejected for being unfamiliar.

The word doing all the damage is "might"

Here is why the behaviour seems random, and it is visible in Apple's own wording.

On sharing, Apple says that with AirDrop, Messages, email and similar methods, if the receiving device does not support the newer formats:

the media might automatically be shared in a more compatible format, such as JPEG or H.264

And on importing over USB to a computer, the media

might be converted to JPEG or H.264

Might. Not will. Apple is describing a convenience conversion that happens in some paths and not others, and it is the single reason this problem feels inconsistent.

When you send a photo in Messages or AirDrop it to a laptop, that conversion often fires, and the recipient gets a JPEG. They never learn your phone shoots HEIC. But when you tap a browser's file picker and hand the file to a web form, you are usually handing over the original — and the original is HEIC.

So the same image genuinely does work in one place and fail in another. You were not imagining it, and nothing is broken.

Renaming it to .jpg does nothing

This is the most common attempted fix and it does not work.

A file extension is a label on the outside. Changing photo.heic to photo.jpg renames the label and leaves the contents exactly as they were — still HEIC, still unreadable to anything expecting JPEG.

What makes it worse than a plain failure: some forms only check the extension. So the upload succeeds, your application goes in, and at the other end someone opens a file that will not display. You get no error, and you find out later, if at all.

Converting means re-encoding the image data into JPEG. Only a converter does that.

The permanent fix

If you would rather this never happened again, change what the camera saves. Apple's steps:

  1. Open Settings, then tap Camera.
  2. Tap Formats, then tap Most Compatible.

Apple's description of the result: "All new photos and videos will now use JPEG or H.264 format." It describes those as "the older formats, which are more broadly compatible with other devices and operating systems."

Two things to be clear about before you do it:

It only affects new photos. Everything already in your library stays HEIC. This prevents the next problem; it does not fix the one you have right now.

You give up the storage saving. That is the whole trade. If your phone is close to full, switching every future photo to JPEG costs you real space for a benefit you only need when uploading to forms. Plenty of people are better off leaving High Efficiency on and converting the occasional file.

Fixing the photos you already have

For the photo in front of you, you need an actual conversion. Two routes:

Convert on the phone. Fastest, and the file never leaves the device — which matters if the photo is an ID document, a signed form or a payslip, as these uploads very often are.

A website that converts. Works, and plenty are good. But read what they say about where the processing happens: some run in your browser and some send your file to a server. For a holiday photo that is nothing. For a passport scan, it is a decision you should make deliberately rather than by accident.

Either way, upload the converted copy, not the original. On a phone, the converted file sits next to the original in your gallery and they look identical in the thumbnail grid — it is genuinely easy to pick the wrong one and conclude the conversion failed.

The trap that comes next

This catches people immediately after they have solved the first problem, and it follows directly from Apple's own claim.

If HEIF "offers better compression than JPEG... while preserving the same visual quality", then converting the other way reverses that. The JPEG version of the same photo is frequently larger than the HEIC you started with.

So: your 3 MB HEIC becomes a 4.5 MB JPG, the form accepts the format at last, and now tells you the file exceeds 2 MB.

The fix is to treat it as one job rather than two — convert and bring it under the limit in the same step, rather than converting, failing, and then going looking for a compressor. If a form has given you both a format requirement and a size limit, it will enforce both.

A note on the app I build

Disclosed interest: Sizra is mine.

It exists for this exact sequence. It converts HEIC and WebP to JPG, and it compresses to a limit you state — 50 KB, 100 KB, or whatever number the form gave you — with the result always at or under rather than approximately there. Both happen in one pass, which is the point of the section above.

It runs entirely on the phone, so a passport scan or a payslip is not uploaded anywhere to be resized, and it strips location and camera data from the file it creates by default. No watermark, and no cap on how many images you convert.

If you only take the camera setting from this post and never install anything, that is a good outcome too — it is the fix that stops the problem recurring.

Frequently asked questions

Why won't my iPhone photo upload to a website?

Because it is almost certainly a HEIC file. iPhones save photos in HEIF by default, and most upload forms accept only JPG or PNG. The photo itself is fine — the container it is in is the problem.

Can I just rename the file from .heic to .jpg?

No. The extension is a label; the data inside is still HEIC. A form that checks the extension may accept it and then fail to read the image, which is worse than an outright rejection because you will not find out until someone tells you.

How do I stop my iPhone saving photos as HEIC?

Apple's instructions: open Settings, tap Camera, tap Formats, then tap Most Compatible. Apple says all new photos and videos will then use JPEG or H.264 format. Photos you already took stay as they are.

Why does the same photo work in Messages but fail on a form?

Apple says that when you share by AirDrop, Messages or email, the media might automatically be shared in a more compatible format. That conversion is not guaranteed and does not reliably happen when a browser's file picker hands the file to a web form, so the same photo behaves differently depending on the route.

Does converting HEIC to JPG make the file bigger?

Often, yes. Apple's own reason for using HEIF is that it offers better compression than JPEG at the same visual quality — so the JPG version of the same picture tends to be larger. People fix the format and then hit the form's size limit instead.

More from the blog