Images

Convert HEIC to JPG, PNG or WebP

Drop your HEIC photos, choose JPG, PNG or WebP, and download each one. The page brings its own HEIC decoder (1.5 MB, fetched from this site the first time you drop a file), so it works in Chrome, Firefox and Edge as well as Safari. The photos never leave your device.

Drop HEIC photos here or browse

HEIC, HEIF · nothing is uploaded

Why a HEIC will not open where a JPG does

Since 2017 an iPhone saves photos as HEIC by default: the same picture in roughly half the space of a JPG, using the HEVC video codec to compress a still frame. The format is excellent and the licensing around that codec is not, which is why Windows asks you to buy an extension to open one, why Chrome and Firefox do not display one, and why many upload forms reject it. JPG is older, larger and opens everywhere, and "everywhere" is usually the point.

Browsers cannot decode HEIC themselves, so this page carries its own decoder: libheif, the open-source library that Linux desktops and many image programs use, compiled to run inside your browser. It is a 1.5 MB download the first time you drop a file, and your browser keeps it cached after that. The photo itself is decoded on your device and nothing is sent anywhere, which you can confirm from the Network tab of the developer tools.

What the conversion keeps, and what it drops

The pixels come through at full resolution, with the rotation the phone recorded already applied, so a portrait photo stays portrait. At the default 90% quality a JPG from a 12-megapixel HEIC lands between 2 and 4 MB and the difference is invisible on a screen. Set 100% if the file is going to be edited again; the size roughly doubles.

Two things are lost, and both are worth knowing before you convert. The metadata does not carry over: the JPG has no date taken, no camera model and no GPS position. For a photo you are about to post that is usually what you want; for one you are archiving, keep the HEIC as well. And a 10-bit HDR photo from a recent iPhone becomes an 8-bit image, because JPG, PNG and WebP as a browser writes them have no room for the extra range. The picture looks normal; it has simply lost the headroom an HDR screen could have shown.

A Live Photo is a HEIC plus a short video. The still converts; the video part is a separate file the phone never puts inside the HEIC, so it is not here to lose. A burst or a multi-image container decodes to several images, and each one gets its own download, numbered.

How long it takes

Decoding is real work: a 12-megapixel photo takes about a second on a laptop and a few seconds on a phone, and the files are handled one after another so that twenty photos do not need twenty decoded bitmaps in memory at once. The decoding runs in a background thread, so the page stays usable while it happens. Very large batches on a phone are the one case where the browser may run out of memory; if that happens, convert in smaller groups.

Stopping the problem at the source

If you would rather never see a HEIC again, the setting is on the phone: Settings → Camera → Formats → Most Compatible makes the camera shoot JPG from then on, at the cost of larger files. Photos already taken are not changed by that switch; convert those here.

Frequently asked questions

Are my photos uploaded to convert them?

No. The decoder runs inside your browser and the converted file is written on your device. The only download is the decoder itself, 1.5 MB fetched from this site the first time you use the tool. You can check the Network tab of the developer tools while converting.

Does this work in Chrome and Firefox, or only Safari?

It works in Chrome, Firefox, Edge and Safari, on desktop and on phones. Safari can open HEIC on its own; the other browsers cannot, which is why this page brings its own decoder instead of relying on the browser.

Does the JPG keep the date, location and camera information?

No. Converting goes through the browser’s image encoder, which writes pixels and nothing else, so the JPG carries no EXIF data. Keep the original HEIC if you need that information later.

Why is the JPG bigger than the HEIC?

Because HEIC compresses better: it uses the HEVC video codec, which packs a still image into roughly half the space JPG needs at the same quality. A larger JPG is the normal result, not a sign that something went wrong. Lowering the quality slider shrinks it.

What if a file fails to convert?

Some HEIC variants are outside what the decoder handles: depth maps, some HDR gain-map files and images encoded with unusual settings. The tool says so for that file and continues with the rest. Opening the photo on the phone and sharing it as JPG is the fallback.

Last updated October 21, 2026