What this does
Converts the .heic photos an iPhone or iPad produces into
JPGs, right in the browser tab. Because browsers cannot read HEIC on their
own, the page loads a WebAssembly decoder the first time you add a file,
decodes each photo locally, and re-encodes it as JPEG at the quality you
set. Personal photos never leave your device. Up to 20 files per batch,
50 MB each.
Why are my iPhone photos HEIC instead of JPG?
Since iOS 11 in 2017, Apple's camera app defaults to HEIC — the High Efficiency Image Container, built on the HEVC/H.265 video codec — because it stores the same photo at roughly half the size of a JPG. That is good for the phone's storage and useless the moment the photo has to go anywhere non-Apple: Windows needs paid codec extensions to even show a thumbnail, many Android apps and older cameras' companion software ignore the file, and web forms for job applications, ID verification, insurance claims, marketplaces and school portals almost universally accept only JPG or PNG. JPG has been the shared language of photos since the early 1990s, which is why it is the target here.
How do I convert HEIC to JPG?
- Drop
.heicor.heiffiles on the box above, or click to choose them. The first file takes a moment longer while the decoder loads. - Leave the quality slider at 92, or move it anywhere from 10 to 100.
- Click Convert to JPG. Each row gains a Download button showing the size; the file is saved under the original name with a
.jpgextension.
How does a web page decode HEIC?
With libheif, the open-source HEIF library, compiled to
WebAssembly and shipped in the heic-to package. It is fetched
on demand — only when a HEIC file is added — so visitors converting other
formats never download it. The decoder hands the browser a high-quality
intermediate image (JPEG at quality 95), the browser paints that to a
canvas, and the canvas is encoded as the final JPG at your chosen quality.
Two passes of JPEG compression sounds worse than it is: at the default 92
the result is indistinguishable from what Apple Photos exports.
Will the JPG lose quality?
Marginally. HEIC and JPG are both lossy, so re-encoding always discards a little; at 90 or above it is not visible in a photograph. What is lost outright is what JPG has no place for: the HDR gain map and 10-bit colour of newer iPhones are reduced to 8-bit sRGB, the video half of a Live Photo is dropped, depth data goes, and no EXIF metadata (date, location, camera) is written into the output because the JPG is built fresh from pixels. Output is capped at 8192 pixels per side, which is above any current iPhone resolution. If you would rather avoid the second lossy pass for editing, use HEIC to PNG.
Can I convert a JPG back to HEIC?
Not in a browser. Canvas encoders write PNG, JPG and WebP only; no browser ships a HEIC encoder, so this conversion is one-way and the parent converter lists HEIC as input only. If you want to stop producing HEIC in the first place, open Settings → Camera → Formats on the iPhone and choose "Most Compatible"; or leave that alone and set Settings → Photos → Transfer to Mac or PC to "Automatic", which converts to JPG when you copy photos over USB.