How to convert HEIC to JPG without uploading it
Every "free" online HEIC converter you've used uploads your photos to a company server, converts them there, and — in several documented cases — keeps a copy or a live download link for days. For family photos, IDs, and anything personal, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.
This tool does exactly that. When you drop a HEIC here, your browser:
- Loads a real HEIC decoder (libheif, compiled to WebAssembly) — but only when you convert your first file, so the page itself stays light.
- Decodes each photo in a background thread, one file at a time, so the page never freezes — even on a camera-roll batch.
- Reads the photo's orientation data and stores the output upright, so a portrait photo doesn't come back sideways.
- Re-encodes it as JPG or PNG with a canvas, and hands you the result as a download. Your original file is never modified.
- Target size (optional): choose Target size instead of the quality slider and the tool searches JPG quality until the file fits your chosen KB — then reports the target, the size actually achieved, the quality used, and how many encodes it took.
Why won't my iPhone photos open on Windows?
Since iOS 11, iPhones save photos as HEIC (High Efficiency Image Container) by default. HEIC uses the same HEVC compression as 4K video, so a photo takes roughly half the space of a JPG. The catch: Windows, most web upload forms, and older photo editors don't include a HEIC decoder, so the file either won't open or uploads as an unusable attachment. Converting to JPG fixes compatibility everywhere — at the cost of a larger file, because JPG simply can't pack pixels as tightly as HEIC.
Stop your iPhone taking HEIC photos
To save future photos as JPEG instead: open Settings → Camera → Formats and choose Most Compatible. New photos will be JPEGs. Your existing photos stay in HEIC — convert those here. Note that "Most Compatible" photos take roughly twice the storage space, which is why Apple made HEIC the default.
Honest limitations
JPGs are larger than HEICs
HEIC is roughly half the size of a JPG at similar quality. The before/after panel shows this honestly: a bigger output file is the price of universal compatibility, not a bug.
Live Photos lose the motion
A Live Photo is a still plus a short video. Only the first still is converted; the video part is dropped. Keep your original if you want the motion.
Portrait blur can't be re-adjusted
Portrait-mode depth data doesn't survive into a standard JPG, so background blur is baked in and can no longer be changed afterwards.
Target size is best effort
The tool binary-searches JPG quality (50–95) to fit your target, but a photo can only shrink so far: if even quality 50 is bigger than the target, the card says so plainly (“best effort: closest achievable was …”) instead of claiming success. PNG cannot use target size at all — it is lossless, so the mode is disabled for PNG.
HDR and metadata are simplified
HDR / 10-bit HEIC photos are tone-mapped down to 8-bit, and camera metadata (EXIF, including location) is stripped on re-encode. Orientation is preserved — the output is stored upright.