Your camera roll converts to JPG right here, in this browser tab, and not one photo is uploaded — drop as many HEIC or HEIF files as you like above and they come back as a single .zip. The decode and re-encode both run on your own device via WebAssembly. Personal photos are exactly the kind of file you should not have to hand to a stranger's server just to change a format.
Why HEIC files won't open everywhere
HEIC is the format iPhones save photos in by default. It compresses better than JPEG, but plenty of older software, Windows apps, and web forms still can't open it. Converting to JPG trades a bit of file size for something that opens absolutely everywhere.
Convert the whole camera roll at once
A phone export is rarely one photo. Drop the entire folder onto the zone above, or select every file in the picker, and each one is queued and converted in turn with its own progress and its own result. When a batch of two or more finishes, the results are offered as a single .zip you save with one click. Nothing caps how many you add, and nothing is charged for it: the work runs on your own processor, so there is no per-file cost for anyone to bill.
iPhone portrait shots come out upright
An iPhone held upright does not rotate the pixels it records; it notes the rotation as a transform property inside the HEIC container and leaves the turning to whatever opens the file. The decoder here applies that transform itself, so a portrait photo is written into the JPG already upright — the way it looks in your camera roll, not lying on its side.
What happens to transparency
JPEG has no alpha channel. If the source image has any transparency, it gets flattened onto a white background before the JPG is written — there's no way around that in the JPEG format itself.
Choosing the JPG quality
Four quality levels are offered: 100%, 92%, 80% or 60%. The default, 92%, is hard to tell from the original at normal viewing size. 80% gives a noticeably smaller file and suits email or an upload form with a size cap; 60% is for when size is all that matters. The JPG is written by a MozJPEG-based encoder, which produces a smaller file than a browser's built-in one at the same setting.
Frequently asked questions
Are my iPhone photos uploaded when I convert HEIC to JPG?
No. Each HEIC file is decoded and re-encoded inside your browser by WebAssembly code running on your own device. The photo is never sent anywhere.
Can I convert several HEIC files at once?
Yes, as many as you like. Drop a folder or select every file in the picker; they convert one after another and the whole batch comes back as a single .zip. There is no limit on the count and no fee — a batch is treated no differently from a single photo.
Does this work with HEIF as well as HEIC?
Yes — HEIC and HEIF are handled by the same decoder here.
How do I stop my iPhone saving photos as HEIC?
Go to Settings > Camera > Formats and choose Most Compatible; the phone shoots JPEG from then on. It does nothing for photos already taken — those still need converting — and JPEG files take up more storage.
Can I convert JPG back to HEIC?
Not with this tool — it can read HEIC but has no HEIC encoder, so this is a one-way HEIC → JPG converter.
Is there a file size limit?
No hard limit is enforced, but very large files take longer since everything runs on your own device's CPU rather than a server.