View a HEIC photo — in your browser, nothing uploaded

Drop an iPhone HEIC and see it here without sending the photo to a server. It renders wherever your browser can decode HEVC — and when it can't, it tells you honestly instead of showing a blank box.

Your photo never leaves your device — the viewer runs in your browser. 0 bytes uploaded.

Drop a HEIC / HEIF photo file hereTap to choose a HEIC / HEIF photo file

Decodes and renders the HEVC photo right here in your browser — the native codec on Safari, a bundled WASM codec everywhere else. Nothing is uploaded.

100% in your browser. 0 bytes uploaded — open DevTools → Network and watch. Your file is read, never sent.

In short

This is a viewer for HEIC (and HEIF) photos that runs entirely on your device. Drop a file and the tool asks your browser's own decoder to render it, then shows the picture with its real pixel dimensions. It is honest about the one thing that decides whether that works: HEIC photos are HEVC-coded, and not every browser can decode HEVC. Where yours can, you see the photo. Where it can't, you get a clear explanation and the route that will — never a fake preview. Nothing is uploaded, and if the file is damaged rather than merely un-decodable, the viewer points you to repair.

What a HEIC actually is

HEIC has been Apple's default photo format since iOS 11. The picture inside is an HEVC-coded image — the still-image sibling of H.265 video — held in an ISO base-media box container, the same box layout that MP4 uses. That's why a HEIC is roughly half the size of the equivalent JPG at similar quality: HEVC compresses far more efficiently than JPEG's decades-old algorithm. The catch is decode support. HEVC is patent-encumbered, so many browsers and operating systems don't include a decoder. A JPG renders everywhere; a HEIC only renders where something can decode HEVC.

This viewer takes the honest path: it hands the file to the browser's native createImageBitmap decoder — the same route an <img> tag uses — and only shows a picture when that decoder actually returns pixels. There's no bundled HEVC decoder faking a render; you either see your real photo or a plain explanation of why not.

Where it renders, and where it won't

Renders here

  • Safari on macOS and iOS — HEVC decoding is built in
  • iPhone and iPad browsers — the photo decodes natively
  • Windows with the HEVC Video Extensions codec installed — Chrome and Edge can then decode it

Falls back honestly

  • Most Chrome and Firefox builds on Windows without the codec, and on Linux — no HEVC decoder, so no preview is shown
  • Instead of a blank box you get a plain message and are pointed to a device that can decode it
  • If a structural scan finds real damage, you're sent to repair the HEIC first

When your browser can't decode HEVC, the surest fix is to view the photo on the device that took it — an iPhone or iPad shows it natively and can export a JPEG — or to reopen this page in Safari on a Mac.

Why "no upload" is verifiable, not a slogan

Most online HEIC viewers upload your photo to a server, decode it there, and send back a JPEG preview — which means your private picture has left your device just to be looked at. This one doesn't. The file is read with the browser's file APIs and decoded on your machine; the page makes no request that carries your bytes. Don't take it on trust: open DevTools, select the Network tab, drop a file, and watch nothing leave. It's the same zero-upload principle as the rest of IntactFile, applied to viewing.

Blank preview, or a broken file?

There are two different reasons a HEIC won't show. The common one is acodec gap: the photo is perfectly healthy and opens on an iPhone, your browser just lacks the HEVC decoder. The other is genuinedamage: a truncated AirDrop or USB import, an interrupted iCloud sync, or a recovery tool that mis-guessed the file's boundaries can leave the container corrupt so no viewer anywhere can reach the picture. The viewer tells these apart — it runs a structural scan, and when it finds real damage it stops and links you torepair the HEIC container first. Repair re-anchors the offset table and salvages the surviving tiles; only once the picture data is reachable again can any viewer show it. If you'd rather leave with a portable copy, theHEIC to JPG converter works the same way and adds a download.

FAQ

How do I open a HEIC file here?

Drop the photo above (or tap to choose one). The tool reads it in your browser and asks the browser's own image decoder to render the HEVC picture on the page, along with its dimensions and a plain readout confirming that 0 bytes were uploaded. Nothing is sent anywhere — you can watch the Network tab stay empty.

It shows a message instead of my photo — why?

HEIC photos are HEVC-coded, and not every browser ships an HEVC decoder. Safari and Apple devices can render them, and Windows can once the free HEVC Video Extensions codec is installed, but most Chrome and Firefox builds elsewhere cannot. When the decoder declines, the viewer won't invent a preview — it tells you plainly and suggests opening the photo on the device that took it (an iPhone or iPad) or reopening this page in Safari on a Mac.

Does viewing upload my photo anywhere?

No. The photo is read and decoded entirely in your browser — 0 bytes leave your device. That's the whole point: private photos are exactly what you shouldn't have to upload just to look at them. Open DevTools, switch to the Network tab, drop a file, and confirm nothing carries it.

What's the difference between viewing and converting?

Viewing renders the photo on the page so you can see it; nothing is saved. Converting re-encodes the pixels into a JPG or PNG you can download and open anywhere. Both need the browser to decode HEVC first, so they work in the same places. If you want a portable copy, use the HEIC to JPG converter instead.

The viewer can't show it and it won't open on any device — is it corrupt?

Possibly. There's a difference between a healthy HEIC your browser simply can't decode and a genuinely damaged one. A truncated transfer, an interrupted iCloud sync, or a data-recovery tool can leave the container broken so no viewer can reach the picture. When the tool's structural scan detects damage, it links you to the HEIC repair page — repairing the container has to come before any viewer can show the photo.

Can it view HEIF, and multi-image HEICs?

It handles the HEIF family HEIC belongs to, and renders the primary image — the main still the file is built around. Some HEICs hold more than one image (bursts, auxiliary depth maps, alternate exposures); this viewer shows the primary picture rather than every embedded item.

Related: want a portable copy — HEIC to JPG · file won't open at all — repair HEIC · broken web image — repair AVIF