Guides

iPhone photos and HEIC — converting for an exam portal

Why your iPhone photo will not upload, and three ways to get a JPEG, including one that takes ten seconds.

3 min read · updated 2026-08-30

You take a photo on an iPhone, try to upload it, and the portal refuses the file — or the resizer says it cannot open it. The format is the problem.

What HEIC is

Since iOS 11, iPhones save photos as HEIC (High Efficiency Image Container) by default. It is genuinely better than JPEG — roughly half the file size at the same quality.

The trouble is support. Exam portals were built for JPEG, and many browsers cannot decode HEIC either. Safari on Apple devices can, because Apple built it in. Chrome and Firefox generally cannot.

So a HEIC file often fails twice: once in the resizer, and again at the portal.

Fix one: stop the phone making them

The permanent fix, and worth doing before you start an application.

Settings → Camera → Formats → Most Compatible

Photos you take from then on are saved as JPEG. Photos already in your library stay HEIC.

The equivalent for existing photos is Settings → Photos → Transfer to Mac or PC → Automatic, which converts on export.

Fix two: copy and paste

The quickest fix if you have already taken the photo.

  1. Open the photo in the Photos app
  2. Tap Share, then Copy Photo
  3. Come back to the resizer and paste — long-press and Paste, or Ctrl+V / Cmd+V on a computer

iOS converts to a compatible format when it puts an image on the clipboard. Our resizer accepts a pasted image anywhere on the page, so this works without any conversion step.

Fix three: let something else convert it

Of these, copy and paste is better than all three. It does not involve a network, and it does not lose quality.

Which of these to use

If you have not taken the photo yet, change the camera setting first — it removes the problem permanently and costs nothing.

If the photo already exists, copy and paste it. Ten seconds, no upload, no quality loss.

What our tool does

If you hand it a HEIC file it cannot decode, it says so and tells you the Settings path and the copy-paste trick, rather than showing a generic error. Pasting works on every page.

We do not bundle a HEIC decoder. Doing so would mean shipping a large WebAssembly module to every visitor — most of whom are on Android or a desktop and will never need it — on a site whose main promise is being fast on a slow connection. The two fixes above are quicker than the download would be.

One competitor does bundle a Rust and WebAssembly HEIC converter, and it works well. It is a genuine advantage of theirs and worth knowing about if you are on an iPhone and would rather not touch a setting.

Resizers mentioned here

More guides

All 11 guides →