ZipTool
ZipTool

Convert HEIC to JPG online

A real HEIF decoder — libheif compiled to WebAssembly — running in this tab. Drop your iPhone photos, open one, press Download .jpg. The photos never leave your device.

Load from cloud

Drop HEIC photos (or a zip of them) anywhere on this page

The HEVC decode runs entirely in your browser. Photos never leave your device.

“HEIC to JPG” is one of the most-searched file conversions on the web, and nearly every result is an upload service: your photos go to a server, get converted who-knows-where, and live on in someone else’s storage for a retention window you do not control. That is a strange default for family photos. This page does the conversion the other way around: the *decoder* travels to you — libheif, the open-source HEIF engine, compiled to WebAssembly — and your photos never travel at all.

The distinction is checkable, not a slogan. Open DevTools, convert a photo, and watch the Network tab: the only fetch is the one-time engine download (~1 MB, from this site’s own domain, cached afterwards), and no request ever contains your photo. Load the page, go offline, and conversions still work. If your photos arrived in a zip — an iPhone export, a shared album — drop the zip: every HEIC inside opens from the file tree, converts on demand, and stays inside the archive until you export it.

How to convert HEIC to JPG

Nothing to install, nothing to sign up for:

  • Drop your .heic photos anywhere on this page — one file, several, or the whole zip — or press Try an example photo first.
  • Click a photo in the file list. It decodes to full resolution in the viewer (first open also fetches the engine, once).
  • Press Download .jpg in the status bar — the export is the exact decode you are looking at.
  • Open the next photo; ← and → step through the folder’s other HEICs without stacking tabs.
  • Many photos? The toolbar’s Convert HEIC photos to JPG button (or ⌘K) batch-converts the current folder — up to 50 per run — and downloads every JPEG as one zip with the folder structure kept.

What this HEIC converter actually does

HEIC is a container holding photo data compressed with HEVC — the same codec as H.265 video. That is why browsers are split about displaying it (decoding HEVC in a browser touches a patent pool, so Safari ships a decoder and most Chromium/Firefox builds do not) and why a converter cannot just re-label the file: the pixels must be decoded, then re-encoded as JPEG.

That is precisely what happens in your tab: libheif decodes the HEVC data to full-resolution RGB, and the viewer re-encodes it as a JPEG at quality 92. It is a real decode of the photo’s pixel data — not a rename, and not an extraction of the small preview thumbnail HEIC files also carry.

Quality, size, and what you trade away

JPEG and HEIC are both lossy, so a HEIC→JPG conversion is a re-encode, and two honest consequences follow. First, generation loss: the JPEG is a very close copy, not a bit-perfect twin — at quality 92 it is visually indistinguishable for photos, but it is still a second lossy step. Second, size: HEIC is the more efficient codec (that is the whole reason Apple adopted it), so the JPEG is often *larger* than the HEIC it came from — a 2 MB HEIC commonly lands between 2 and 4 MB as a JPEG at this quality.

Colors are handled properly on the way out: iPhone photos are Display P3, and the decoder converts them to sRGB for the JPEG so the export keeps the intended tones instead of the oversaturated cast a naive decode produces. (On Safari 17+ your browser already decodes HEIC natively, so this page uses that instead of the engine — same output, zero download.)

One deliberate trade here: EXIF metadata — shooting date, camera model, and GPS location — does not survive the export. For photos you are posting or sending onward, that is usually a privacy plus. If you need the metadata, keep the original HEIC and treat this as a pixel export.

Converting is only half the story — if what you actually want is to *look* at HEIC photos (zoom, cull a folder, check what is inside an album zip), the online HEIC viewer is the same engine framed for inspection; the reference page for the format itself is open .heic online.

Honest limits

Real capability, real boundaries — stated up front.

  • Multi-image and grid HEICs (bursts, very large photos stored as tile grids) export the primary still image.
  • Live Photos are photo-plus-video pairs; the video half is ignored, the still converts normally.
  • `.heif` and `.hif` — the generic spellings of the same container — convert identically. `.avci` (AVC) converts on Safari, which decodes it natively; on Chrome/Firefox it is refused honestly (no AVC decoder). `.avif` is refused everywhere: AV1, no decoder.
  • One-time engine download (~1 MB) from this site’s own domain; your browser caches it, and afterwards converting works offline.
  • Size caps keep the tab alive: 64 MB per file, and a decoded-size ceiling far above any phone photo.
  • Folder batches convert the first 50 photos of the current folder per run — rerun in subfolders for more.

Credits

The decode engine is libheif with its libde265 HEVC decoder (both LGPL-3.0), distributed via libheif-js as WebAssembly and served from this site’s own domain as a standalone, replaceable file. This page adds the viewer, the JPEG export, and the archive integration; libheif does the decoding.

Frequently asked questions

How do I convert HEIC to JPG without uploading?

Drop the photos on this page, click one, and press Download .jpg. The decoder (libheif as WebAssembly) runs inside your browser tab, so the conversion happens on your device — you can go offline after the page loads and it still works. There is no queue, no watermark, and no per-file charge because there is no server doing the work.

Is this HEIC to JPG converter free?

Yes, with no artificial limits — no daily caps, no watermarks, no sign-up. The limits that exist (64 MB per file) exist to keep your browser tab responsive, not to sell an upgrade.

Will the JPG keep my photo’s EXIF and GPS data?

No. The JPG is a re-encode of the decoded pixels, and metadata — including where the photo was taken — does not travel with it. For sharing, that is a feature; if you need the metadata, keep the original HEIC.

Why is the JPG bigger than my HEIC file?

HEIC (HEVC) compresses photos roughly twice as efficiently as JPEG — that is why Apple adopted it. Converting to JPG trades that efficiency for universal compatibility, so files commonly grow. Quality 92 keeps the visual difference negligible while limiting the growth.

Can I convert several HEIC photos at once?

Yes — the toolbar’s Convert HEIC photos to JPG button (or the ⌘K command palette) converts every HEIC in the current folder, up to 50 per run, and downloads them as one zip that keeps the folder structure. Each JPEG is the same full decode the single-photo export produces: EXIF stripped, bursts export the primary still. On Chrome/Firefox the first run also fetches the ~1 MB engine once; Safari converts natively with no download at all.

Does it work for HEIF and HIF files too?

Yes — .heic, .heif, and .hif are the same container and codec, just different spellings used by different makers, and all convert identically. .avif files are refused honestly: they use AV1, which this engine build cannot decode.

Drop here.