How to convert a HEIC to JPG
- Drop the .heic file into the box above. It is read on your device — it is not uploaded anywhere.
- Wait a moment for the decoder. Your browser almost certainly cannot read HEIC, so a decoder loads here to do it. It is fetched once and only when a file needs it.
- Choose JPG and adjust quality if a form has a size limit.
- Download. The size shown is the exact file you get.
That works the same on Windows, Mac, Android and iPhone, because the work happens in the browser rather than in an app. There is nothing to install and no Microsoft Store purchase.
⚠️ If you only want to see the photo rather than convert it, you do not need any of this — open the HEIC file directly and it will simply appear.
Your photo is fine. The format is the problem.
Every iPhone shoots HEIC by default. It is a genuinely better format — roughly half the size of a JPEG at the same quality.
It is also unreadable on most computers.
HEIC stores its picture using HEVC, a codec covered by patents with licensing fees attached. Apple pays them. Chrome, Firefox and Edge have not, so those browsers cannot decode the file at all. That is why a visa portal, an exam board or a job application form rejects a photograph you can see perfectly well on your own phone.
Nothing is wrong with the photo. It is simply in a format the rest of the world did not adopt.
Why this converter is different
Most HEIC converters upload your file to a server, convert it there, and send it back.
Think about what people convert. Passport photographs. ID scans. Pictures of children for a school form. Handing those to an unknown server to perform a format change is a poor trade.
This tool carries its own decoder — a WebAssembly build of libheif, the same open-source library most desktop image software uses. It runs inside your browser tab. The photo is never transmitted, and the conversion works identically with your connection switched off after the page has loaded.
The decoder is 1.4 MB, and it is not downloaded until you actually drop a file. Visiting this page costs you nothing.
It reads the file, not the filename
A common and genuinely confusing case: your file already ends in .jpg, and the website still rejects it.
Windows, and several messaging apps, will rename a HEIC to .jpg without converting anything inside it. Your computer shows a JPEG. The server opens it, finds HEIC, and refuses. You are then stuck arguing with a form about a file that both of you can see is called .jpg.
This tool checks the actual bytes at the start of the file. If it is HEIC wearing a JPEG name, it converts it. If it is genuinely already a JPEG, it says so and tells you not to bother — because a needless re-encode only loses quality.
Choose JPG unless a form insists otherwise
PNG is offered because a few forms demand it, but for a photograph it is the wrong choice.
PNG is lossless: it records every pixel exactly, with no discarding. For a screenshot or a logo that is ideal. For a 12-megapixel photograph it produces a file several times larger than the HEIC you started with — which can break the very upload limit you were trying to meet.
For any photograph, JPG is correct, and every portal that accepts images accepts it.
What this does not do
- It converts the main photograph only. A HEIC is a container, and a Live Photo or burst holds several images plus a short video. You get the still your phone shows you, and the tool tells you when there were others.
- It does not resize. If your form also demands exact pixel dimensions or a KB limit — and most government portals demand both — convert here first, then use resize a photo to exact pixels and file size.
- It cannot repair a truncated file. A HEIC that was cut short during a transfer has no complete image inside it. Send it from the phone again.