Skip to content
ImageRuns in your browserPopular

HEIC to JPG Converter

An HEIC to JPG converter that opens iPhone photos and saves them as ordinary JPG files, on your own device.

Upload
Batch upload supported · 40 MB max
Privacy
Nothing is uploaded
Cost
Free · no sign-up · no watermark

Loading tool…

The tool is loading its code on your device. This happens once and is cached for later visits.

Processed entirely on your device

Your file is read, transformed and re-encoded inside this browser tab using JavaScript. There is no upload endpoint — nothing leaves your machine, nothing is stored, and the result is created as a local object URL that disappears when you close the page.

Overview

About the HEIC to JPG Converter

Convert HEIC and HEIF photos from iPhones to JPG entirely in your browser using a WebAssembly libheif decoder. No upload, no iCloud round trip, no watermarks.

Since iOS 11, iPhones have saved photos as HEIC: half the size of JPG for the same detail, and completely unopenable on most machines that are not Apple's. The photos arrive by WhatsApp, email or USB stick and double-clicking does nothing. An HEIC to JPG conversion closes that gap without installing anything, and this HEIC to JPG converter runs the entire decode in your browser tab.

What HEIC actually is

HEIC is a container around HEIF, which stores images encoded with HEVC — the same video codec family as H.265. That is why it compresses so well and why it needs a real decoder rather than a rename: every HEIC to JPG conversion starts with a genuine decode of those HEVC bytes. Here the decoder is libheif compiled to WebAssembly, running in your tab at near-native speed.

What to expect from HEIC to JPG output

  • Orientation and framing come out of the decode as the camera recorded them, and the dimensions in each result row are measured from the decoded image itself rather than read from the container's claims — so a row reporting 4032 × 3024 is describing pixels that genuinely exist.
  • Size moves up, not down. HEVC stores a photograph in roughly half the bytes an equivalent JPG needs, which is the entire reason HEIC exists, so expect the JPG to come out larger than the file you dropped — usually by about a factor of two at the default 92%. Sliding quality down pulls the HEIC to JPG output back towards the HEIC's weight while softening fine detail.
  • Live Photos and bursts hand over a single frame. A multi-frame HEIC decodes to several images and the first is the one kept; the motion half of a Live Photo is a video this tool does not extract.

When HEIC to PNG beats HEIC to JPG

If the photo is really a screenshot of a document, a diagram or anything with sharp edges and flat colour, convert to PNG instead — lossy JPG rings around text edges. For photographs, HEIC to JPG is the right destination and the smaller file, which is why it is the default iPhone workflow.

What the HEIC to JPG result list tells you

Every converted photo gets a row carrying its real pixel dimensions and both file sizes, so IMG_2291.heic reads something like 4032 × 3024 · 2.4 MB → 4.1 MB. The output keeps the original filename with a .jpg ending; a file whose name cannot be used falls back to photo.jpg. Above the download buttons a summary strip totals the run — photos decoded, size before, size after, and the change between them, coloured so a batch that grew is obvious at a glance.

Those dimensions are measured from the decoded image rather than taken from anything the HEIC container asserts about itself, which is what makes an HEIC to JPG result trustworthy. That is worth more than it sounds: a photo whose header disagrees with its pixels is reported as it actually is, and a file the decoder could not measure at all shows sizes only — which is itself a warning worth noticing before you send the result anywhere important.

When a HEIC to JPG conversion will not decode

Two causes account for almost every HEIC to JPG failure. A burst saved as a HEIC sequence stores several photographs in one container with an index rather than a single image track, and a file renamed to .heic from something else entirely has no HEVC payload to find. Both are refused with a message naming the likely cause, and in both the fix is the same: open the photograph in the app that produced it and export a JPG.

Detection runs on bytes rather than on the name attached to the file. The format is read from the ISO-BMFF brand in the header, and heic, heix, heim, heis, hevc, hevx, mif1 and msf1 all resolve to this decoder, alongside avif and avis. A mislabelled file is therefore identified as what it contains, and an AVIF from a recent Android arrives here just as happily as an iPhone photo.

The same decoder elsewhere on this site

Every image tool here retries a failed decode through this WebAssembly decoder when the bytes say HEIC, HEIF or AVIF — the same engine that powers this HEIC to JPG converter. The image resizer, the image compressor, the format converters and the PNG to SVG wrapper will all open an iPhone photograph as a result, even though their file pickers do not advertise the format, because each of them re-encodes from decoded pixels. Come to this page when you specifically want a JPG out; use those when you want something else done to the photo and would rather not convert it twice.

Private HEIC to JPG conversion, batch included

The privacy story of an HEIC to JPG conversion is short because there is nothing to tell: the HEIC bytes are decoded by WebAssembly libheif in your tab, the JPG is encoded by the same tab, and the download is a local blob that dies with the page. There is no upload endpoint, no account and no size ceiling beyond the 40 MB per file and twenty files per run the decoder can comfortably handle. Holiday albums, family photographs and documents photographed for a claim stay on the device they were opened on — which is the whole point of doing HEIC to JPG in the browser instead of mailing the photos to a converter website.

Step by step

How to use the HEIC to JPG Converter

  1. Drop your .heic or .heif photos onto the upload area, or click it to browse.

  2. Set the JPG quality — 92% is a good default for photos straight off an iPhone.

  3. Press Convert to JPG; the WebAssembly decoder runs locally, so large batches are fine.

  4. Download the JPGs individually, or take the whole batch at once from the result list — up to twenty photos per run, each up to 40 MB.

Why use it

Benefits and common use cases

What this tool is good for, and what it deliberately does not try to do.

Works on Windows and Android

Neither ships a HEIC decoder by default, which is why iPhone photos arrive as unopenable attachments. Converting in the browser fixes that without installing codec packs.

Photos never leave the device

HEIC collections are often personal — holidays, family, documents photographed for a claim. The libheif decoder runs as WebAssembly in your tab, so nothing is uploaded anywhere. It is loaded lazily too: the decoder is fetched only once a HEIC file actually lands on the page, so nobody who never converts one pays for its weight.

Batch friendly, twenty at a time

Drop a folder of HEIC photos and each one converts in the same pass, keeping its original filename with a .jpg ending. The ceiling is twenty files per run, because WebAssembly decoding is memory-hungry; anything past that is listed by name as refused rather than quietly dropped.

Questions

Frequently asked questions

Short, honest answers about quality, limits and privacy.

Why can't I open HEIC files on my computer?

HEIC is Apple's container for HEIF photos, and only Apple platforms ship a decoder by default. Windows and Android need extra codecs, which is exactly the gap this tool fills in the browser.

Is quality lost converting HEIC to JPG?

A little, once. HEIC is decoded to full pixels and re-encoded as JPG at the quality you choose. At 90% and above the result is visually identical for typical photos; avoid converting the same image repeatedly.

Does this upload my photos to a server?

No. The decoder is a WebAssembly build of libheif that runs inside your browser tab. There is no upload endpoint, and the output is a local blob URL that dies with the page.

Guides & tutorials

Guides for the HEIC to JPG Converter

Practical walkthroughs, settings, and troubleshooting for your next step.