Why Windows will not open your iPhone photos

HEIC is the container Apple devices have used for photos by default since iOS 11, and it stores the same picture in roughly half the space of a JPEG. It is not widely readable because the compression inside it is HEVC, a codec covered by a large and fragmented set of patents — so software that wants to decode it needs a licence, and a great deal of software has declined to buy one.

That is the whole explanation. The format is technically better and commercially encumbered, and the second fact is why your photos will not open.

What reads HEIC and what does not?

Support divides along whether the platform already licensed HEVC for video.

Where HEIC support
Apple devices and Safari on them Native — the operating system provides it
Windows 10 and 11 Available, historically via a separately installed extension
Chrome and Firefox Not shipped — no HEVC decoder in the browser
Most web upload forms Rejected or silently unsupported
Older photo and print software Generally not

The browser row is the one that matters for a converter. Safari on Apple hardware decodes HEIC because the system does; Chrome and Firefox do not ship the codec, so a browser-based tool has to use whatever the browser already has and say plainly when it is not there.

Why not just bundle a decoder?

Because it costs every visitor. A JavaScript or WebAssembly HEVC decoder is around two megabytes, and shipping it means every person who opens the page downloads it whether or not they convert anything.

That is a poor trade on a tool page: a large, slow download for a minority of visitors, on a page whose whole point is that it opens instantly. The honest alternative is to use the platform decoder where it exists and tell you clearly where it does not — which means converting on an Apple device, or changing the camera setting so the problem never starts.

How do you stop the phone making HEIC files?

Change the camera format to the compatible option in the camera settings, which switches capture to JPEG. Everything taken afterwards is JPEG; everything already in the library stays as it is.

There is a second setting that matters more for most people, controlling what happens on transfer. Set transfers to convert automatically and the phone hands over JPEG copies when sending to a computer, regardless of what is stored — which solves the problem at the point it actually appears.

The trade is real: JPEG at equivalent quality is roughly twice the size, so the phone fills up faster.

Will converting lose quality?

A little, and it is generally not visible. HEIC and JPEG are both lossy, so converting decodes one and re-encodes into the other, and re-encoding always costs something.

At a quality setting of 90 the loss is very hard to see on a photograph. Where it shows up is on images that have already been through several rounds of compression, and on flat areas of colour, which is where JPEG artefacts appear first.

What is definitely lost is the extras HEIC can hold. Depth maps, Live Photo motion, and multiple exposures in one file have no JPEG equivalent and do not survive the conversion in any form.

The batch is where the setting change pays off. Converting thirty photos costs thirty decodes and produces thirty files to move; changing the transfer setting means the phone hands over JPEGs from then on and the problem stops recurring. One is a fix and the other is a workaround repeated indefinitely.

What happens to the location data?

It goes. Converting through a browser canvas redraws the pixels and does not carry the metadata across, so GPS coordinates, camera model and timestamps are not in the output file.

For sharing a photo publicly that is a feature — a holiday photo with coordinates in it discloses more than most people intend. For an archive it is a loss, and the right approach there is to keep the originals and convert copies.

Is there a format that solves both problems?

AVIF comes closest. It reaches similar file sizes to HEIC, it is supported by every current browser, and its underlying codec was designed from the outset to be royalty-free — which is the specific thing HEVC is not. It is a web delivery format rather than a camera one, so it does not replace HEIC on the phone.

JPEG remains the answer for anything that has to open everywhere, at any age, in any software. It is thirty years old, it is worse at everything technical, and nothing else can make that claim.

Questions people ask

Is HEIC the same as HEIF? HEIF is the container format and HEIC is the specific case of HEIF holding HEVC-encoded images. Apple uses the .heic extension; the two names are used interchangeably in practice.

Are the photos uploaded? No. Conversion happens in the browser using the decoder the device already has, and nothing is sent anywhere.

Why does it work on my phone and not my laptop? Because the phone is an Apple device with a system decoder and the laptop browser has none. The same page, the same file, different platform support.

Should I convert my whole library? Probably not. Converting everything doubles the storage and loses the metadata; converting the specific photos you need to send solves the actual problem.

The format is fine and the licensing is the obstacle, which is why the fix lives in a settings screen rather than in a converter. HEIC to JPG handles the files you already have, the image resizer is the next step if they are also too large, and PNG to PDF turns a set of them into something you can email.