Open .HEIC files online
A .heic file is a photo in Apple's HEIF encoding — the format every iPhone has written by default since iOS 11 in 2017, when Apple swapped JPEG for HEIC to cut photo sizes roughly in half at the same visual quality. Modern iPhones, iPads, and Macs all read it natively, and the file keeps noticeably more highlight and shadow detail than a same-size JPEG because it stores 10-bit color instead of 8-bit.
The catch: Chrome, Firefox, and Edge on desktop do not render HEIC (the HEVC codec inside it is patent-licensed), so a photo that opens fine on a Mac shows as a blank file on most Windows and Linux machines. ZipTool closes that gap entirely in your browser: libheif — the open-source HEIF engine — compiled to WebAssembly decodes the photo's actual pixel data, and you can download the result as a JPEG. The engine (~1 MB) downloads once from this site's own domain and is cached; your photo never leaves your device.
What is a `.heic` file?
HEIC is a container, not a codec: the file is an ISO Base Media File Format (the same box-structured family as MP4) whose first box — ftyp — declares the heic brand, followed by boxes carrying the EXIF metadata, a small thumbnail, and the image itself. Sniffed as text, a HEIC starts with ftyp at byte 4, which is how a viewer tells it from a JPEG (JFIF) or TIFF (II/MM) at a glance.
The pixels inside are compressed with HEVC — the same codec as H.265 video, but encoding a single still frame (an intra frame). That is exactly why browsers are split: decoding HEVC in software is free for anyone, but shipping a decoder in a browser triggers the patent pool, so Apple (which licenses it) renders HEIC natively and Chromium/Firefox builds without a license do not. WebAssembly sidesteps the whole question — libheif's decoder ships as data, not as browser code.
The family has three spellings and one cousin: .heic is the Apple default (and can hold a burst or a grid of tiles for very large photos), .heif/.hif are the same container from other cameras and tools, and .avif looks similar but compresses with AV1 instead of HEVC. This viewer decodes the HEVC family (heic/heif/hif); AV1 files are honestly refused — no AV1 decoder is built in.
- Opening iPhone photos on a Windows or Linux machine that has no HEIC codec
- Previewing HEIC photos inside a zip (an iPhone backup, a shared album export) without extracting first
- Checking what a HEIC contains before installing Apple's extensions, iCloud, or any converter
- Converting a HEIC to JPEG with one click — the viewer's Download button exports the decoded pixels
How to open a `.heic` online
Open ZipTool in a new tab, then drop your .heic onto the page — or click to browse for it, or paste a URL. The file opens in the HEIC viewer, which runs libheif compiled to WebAssembly inside your browser tab — a full decode of the photo's HEVC data, not an embedded-preview extraction, read entirely on your device.
- Drag your
.heiconto the page — or click to browse, or paste a URL. - It opens immediately in the HEIC viewer, which runs libheif compiled to WebAssembly inside your browser tab — a full decode of the photo's HEVC data, not an embedded-preview extraction. No install, no sign-up.
- Read, search, or copy it. Your file never leaves your browser.
Open `.heic` without uploading
Most "open heic online" sites work by uploading your file to a server and processing it there. ZipTool does the opposite: it loads its parser once, then reads your .heic locally in the browser tab. The contents stay on your device.
You can prove that in seconds. Open the page, press F12 for DevTools, switch to the Network tab, and open your file — no request carrying the file's contents is sent. You can also turn off Wi-Fi after the page loads and the file still opens. See security and privacy for the full picture.
Frequently asked questions
Is this a real decode or just the embedded preview?
A real decode. The viewer hands the photo's HEVC data to libheif, which decodes the full-resolution pixels — it does not fish out the small thumbnail/preview image HEIC files also carry. That is also why the first photo takes a beat: the engine is compiling and the pixels are being decoded in the tab, doing the same work a native image viewer does.
How do I open a .heic file online?
Drop the .heic on this page — or click to browse, or paste a URL. The photo appears at full resolution with zoom, and the status bar offers a Download .jpg of the decoded pixels. If the photo sits in a zip, drop the zip: the file tree opens, click the photo, and it decodes straight from inside the archive.
Does converting HEIC to JPEG lose my EXIF data?
Yes — and that is deliberate. The .jpg you download is a re-encode of the decoded pixels, so metadata (shooting date, camera model, and GPS location) does not travel with it. For most sharing that is a privacy plus; if you need the metadata, keep the original HEIC and treat this as a pixel export.
What about HEIF, HIF, and AVIF files?
.heif and .hif are the same container and codec as HEIC — other camera makers and tools simply use the generic spelling — and open identically here. .avci (AVC) opens on Safari, which decodes it natively; elsewhere it is refused honestly. .avif is refused everywhere: it compresses with AV1, which this build has no decoder for. Same for live photos: the video half of a Live Photo is ignored, the still image is decoded. Need a JPEG out of it instead? The HEIC to JPG converter uses this same engine and batch-converts a whole folder's HEICs (up to 50 per run) into one zip; the online HEIC viewer frames it for inspecting whole folders.
Why do my iPhone photos show up as files nobody can open?
Since iOS 11 the Camera app defaults to High Efficiency, writing HEIC to save storage. On Apple devices everything reads it; elsewhere support is patchy. You can flip Settings → Camera → Formats to “Most Compatible” to shoot plain JPEG, or keep HEIC and convert on demand — which is exactly what this page does, without installing anything.
Does viewing my HEIC here upload the photo?
No. The decode engine is WebAssembly running in the page; your file is read locally and the pixels are rendered in the tab. The only network fetch is the engine itself (~1 MB, one time, from ziptool.app — not a third-party CDN). Press F12 → Network and watch: no request carries your photo.