HEIC upload failed or says “unsupported format” — what to do

The photo opens fine on your phone, then fails the moment you upload it. There are only a handful of causes, and working through them in order usually takes about two minutes.

Last updated:2026-10-18

First, identify which kind of problem it is

The error messages vary, but underneath there are only four situations, and each needs a different fix:

1. “Unsupported file format” or “please upload a JPG or PNG” → the site doesn't accept HEIC at all.

2. “File too large”, progress stuck at 99%, or the upload drops midway → you've hit a size or count limit.

3. “File is corrupt” or “cannot read file” → most likely the extension was renamed.

4. No error at all, but the preview is blank, or the button does nothing → browser or cache issue.

Cause 1: the site doesn't accept HEIC

This is the most common case, and it isn't your fault — it's theirs.

HEIC uses HEVC encoding, and HEVC decoders involve patent licensing, so plenty of sites simply accept JPG and PNG only. Legacy application portals, government forms, some e-commerce backends and older forums all fall into this group.

Fix: convert HEIC to JPG first. Once converted, the file is a standard JPG that any site will accept. The online converter here handles this in seconds, and you can drag in a whole batch.

One side note for iPhone users: you can set the camera to shoot JPG directly (Settings → Camera → Formats → Most Compatible). The trade-off is roughly double the file size at the same visual quality, but if you upload to web forms often it saves a lot of hassle.

Cause 2: file too large, or too many files

Many sites cap individual files at 2 MB, 5 MB or 10 MB. An original iPhone HEIC is typically 2–4 MB, and the JPG version can come out at 4–8 MB — so a file that uploaded fine as HEIC now exceeds the limit as JPG. That reversal catches people out regularly.

There are count limits too. Some sites advertise batch support but accept only 5 or 10 files per go.

Fix 1: lower the quality. Setting quality to 80–85 roughly halves the size, with a difference you won't see.

Fix 2: resize. If the file is only for someone to look at, you don't need a 4000-pixel long edge. Capping it at 1920 or 1280 cuts size by an order of magnitude.

Fix 3: upload in batches. Find out the limit first, then decide how many rounds you need.

Cause 3: the extension was renamed (most common, least obvious)

There's a widely repeated trick: rename .heic to .jpg and it'll work.

It doesn't. Renaming changes the filename, not a single byte of the file contents. Software that trusts the extension will hand HEVC data to a JPG decoder — which produces either “file is corrupt” or a blank image.

Worse, a renamed file sometimes opens anyway, because some software sniffs the content instead of trusting the extension. So the same photo appears to work in one place and fail in another, which makes it very hard to diagnose.

How to confirm: look at the file header. A real JPG starts with FF D8 FF. HEIC files typically start with 00 00 00 .. 66 74 79 70 (containing the ASCII string ftyp). Any hex viewer will show this.

Fix: actually convert it. Use a tool that validates the bytes and re-encodes the HEIC into a real JPG, rather than one that just renames the file.

Cause 4: browser or cache problems

If the first three are ruled out, the browser is the suspect:

1. Mobile in-app browsers cache aggressively. The webviews inside WeChat, messaging apps and social apps hold on to old page scripts, which breaks features. The fix is to fully close the page — not go back, but close the tab or swipe the app away.

2. Extensions interfering. Ad blockers and privacy extensions sometimes block scripts the page needs. Testing in private/incognito mode settles it, since extensions are disabled there by default.

3. Browser too old. Local conversion relies on WebAssembly and Canvas; very old engines can't run it.

4. Out of memory. Dropping too many large files at once can freeze or crash a phone browser. Split the batch.

Troubleshooting checklist

Work down this list and you'll usually have it pinned in a couple of minutes:

1. Read the exact error — unsupported format, corrupt file, or too large?

2. Try another browser or incognito mode — rules out cache and extensions.

3. Check whether the extension matches the real format — if you suspect a rename, convert it properly.

4. Look up the target site's size and file-count limits — if you're over, compress or resize.

5. If the site simply doesn't accept HEIC, convert to JPG first. That's the quickest fix of all.

Open the converter