pngtoolskit.org
PNG and image utilities, in the browser
Say hi →

HEIC to PNG

iPhone HEIC / HEIF · lossless PNG out · batch · no upload

Every photo an iPhone takes is a HEIC file, and almost nothing outside Apple's own software will open one. This converts them to PNG — a format that opens everywhere — without sending your photos anywhere. Safari decodes HEIC natively; other browsers fetch a WebAssembly decoder the first time you drop a file, then work offline from then on.

Drop HEIC / HEIF files here

.heic, .heif — multiple files allowed

    no files
    Ready.

    Why HEIC exists, and why it is a nuisance

    HEIC is a container holding an image compressed with HEVC — the same codec as 4K video. At the same visual quality it is roughly half the size of a JPEG, which is why Apple switched to it by default in iOS 11. The catch is licensing: HEVC is patent-encumbered, so Windows, Android and most desktop software either cannot open HEIC at all or need a paid codec pack. You end up with a phone full of photos that your own laptop refuses to preview.

    PNG is the opposite trade: completely unencumbered, readable by everything written in the last twenty-five years, and lossless — so the conversion here adds no generation loss on top of what the camera already did. The price is file size. A 2 MB HEIC will typically land somewhere between 8 and 25 MB as a PNG, because PNG cannot throw away detail the way a lossy codec can. If you want small files rather than pristine ones, convert to JPG or WebP instead.

    The decoder, and the 1.4 MB download

    Safari on macOS and iOS can hand a HEIC straight to a canvas, so on Apple hardware this page does nothing special and nothing extra is downloaded. Chrome, Edge and Firefox cannot, so the first HEIC you drop triggers a one-off fetch of libheif compiled to WebAssembly — about 1.4 MB. It is cached for the rest of your visit, and it decodes locally: the file itself never goes anywhere.

    Some HEIC files hold more than one image — burst shots, and the still frames Apple stores alongside a Live Photo. When that happens you get one numbered PNG per frame rather than a single file, so nothing is silently discarded.

    The output scale is there because phone photos are large. A 12-megapixel shot is 4032×3024, which as a PNG is a genuinely awkward file to email. Dropping to 50% gives you a 2016×1512 image at a quarter of the pixel count, which is still larger than most screens.

    FAQ

    Are my photos uploaded anywhere?

    No. The conversion happens in the page. The only network request involved is fetching the decoder itself on non-Safari browsers, and that request carries no image data — it is a plain script download from a public CDN.

    Why is the PNG so much bigger than the HEIC?

    Because PNG is lossless and HEIC is not. HEIC discards detail your eye is unlikely to notice; PNG stores every pixel exactly. If size matters more than fidelity, use a lossy target instead — the conversion path is the same.

    Does it keep EXIF, location and the capture date?

    No. This writes a clean PNG with pixels only, so GPS coordinates, camera model and timestamps are all dropped. That is usually what you want before sharing a photo publicly, but if you need the metadata preserved, keep the original HEIC as well.

    What about the Live Photo video?

    Not extracted. The motion part of a Live Photo is a separate QuickTime file that the iPhone stores next to the HEIC, and it usually isn't included when you copy the photo off the device. You will get the still frames stored inside the container, not the video.

    It says "no image found inside the HEIC container".

    That normally means the file is a HEIF sequence (an animation or a depth map) rather than a plain photo, or it was truncated during transfer. Re-copy it from the device and try again — AirDrop and iCloud both sometimes hand over a placeholder rather than the full file.