iPhone photos
Converting iPhone photos without uploading them
HEIC saves space on your phone and confuses everything else. The fix is a decoder, and it does not need to live on someone else's server.
Convert HEIC in the browserSince iOS 11, an iPhone saves photos as HEIC by default: the same picture at roughly half the size, using a codec most of the non-Apple world did not ship with. That is why the file opens perfectly on your phone and refuses to open on a Windows laptop, a website upload form, or an older Android.
Why converters want the file
Decoding HEIC properly needs a decoder, and for years the easy one lived on a server. So the standard fix is: upload the photo, let a machine somewhere convert it, download the JPEG. Which means a photo of your family, your flat, or your documents — with its date and often its coordinates — spends a few minutes on someone else's disk.
What runs in the tab instead
Safari can decode HEIC natively, because it is Apple's own format. Other browsers can be given a decoder written in WebAssembly, downloaded like any other part of the page, which runs locally. Either way the bytes stay on your device: the conversion happens in memory, and the JPEG arrives as a download.
Open HEIC to JPEG, drop the files in, pick the quality, and take the results. Batch works; the originals on disk are untouched.
The trade-offs, honestly
- First conversion is slower. The decoder has to arrive before it can work — once per session, then it is cached.
- Big batches need memory. Twenty photos at once on an older phone may need two rounds.
- Conversion is lossy. You are going from a compressed format to another compressed format. Keep the HEIC original if the photo matters; convert a copy for whatever needs a JPEG.
A note on the metadata
Some converters preserve the EXIF block, some strip it, and most do not say which. In a browser the answer depends on the encoder: a re-encoded JPEG usually carries only what the tool writes into it. If you need the location kept — for a survey, an insurance claim — check the result before you delete the original.