HEIC to JPG Converter

Convert HEIC format (iPhone photos) to standard JPG images.

About HEIC to JPG Converter

A .heic file is a HEIF container holding an image compressed with HEVC — the same codec used for 4K video. Apple made it the iPhone default in iOS 11 because it stores a photo in roughly half the space of an equivalent JPEG. The trade is compatibility: upload forms, older desktop software, print kiosks and plenty of web apps still reject it outright, and Windows only opens it if the HEIF Image Extensions have been installed.

How the conversion happens here

This page does not ask your operating system to open the file, which is the whole point — if it could, you would not be here. A JavaScript build of the libheif decoder runs inside the page, parses the container, decodes the HEVC image data, and hands the raw pixels to a JPEG encoder set to 90% quality. The download keeps your original filename with the extension swapped to .jpg. Because it is all self-contained, the tool behaves the same on Windows, Linux, ChromeOS and an old Mac.

One file at a time, on purpose

HEVC decoding in JavaScript is genuinely expensive. A 12-megapixel photo needs both the compressed data and the full uncompressed bitmap in memory at once, and running a camera roll in parallel is a reliable way to freeze a browser tab or exhaust the memory on a phone. Handling a single file per run keeps it predictable. If you have hundreds of photos, the faster route is to stop producing HEIC in the first place: on the iPhone, Settings > Camera > Formats > Most Compatible captures JPEG directly, and Settings > Photos > Transfer to Mac or PC > Automatic converts them as they leave the device.

The dropzone accepts .heic, .heif, and the .heics and .heifs sequence variants; anything else is refused with a message rather than failing halfway through. A Live Photo contributes only its still frame here, since the motion lives in a separate video file the phone keeps alongside it. Conversions usually fail for one of three reasons: the file is not really HEIF despite its name, the transfer from the phone was incomplete, or the container uses a variant the decoder cannot read.

Nothing is uploaded at any point. The photo is read into memory, decoded and re-encoded on your own processor, and the result is handed straight back as a download — there is no server copy to delete and no account to trust. If the picture is headed somewhere public and you also want the GPS coordinates gone, follow up with Remove Image Metadata, which strips EXIF from the converted JPEG.

Decodes HEVC in the browser

A JavaScript build of the libheif decoder unpacks the HEVC-compressed image inside the container, which is why this works on a machine that has no HEIC support installed at all.

Fixed 90% JPEG quality

The output is encoded at 90%, high enough that the difference from the source is not visible at normal viewing sizes while keeping the file a sensible weight.

All four HEIF extensions

Accepts .heic and .heif still images plus the .heics and .heifs sequence variants, which is what a burst or Live Photo still can arrive as.

The photo stays on your device

No upload step exists. For pictures of documents, children or anything you would not email to a stranger, that is the whole reason to use a local converter.

Frequently Asked Questions

Why does my iPhone save photos as .HEIC in the first place?

Since iOS 11, Apple has stored photos in a HEIF container using HEVC compression, which is roughly half the size of an equivalent JPEG. The saving is real, but the format is still refused by plenty of websites, older photo software and print services — which is why converting is so often necessary before you can actually use the picture.

How does this work if my computer cannot open HEIC files?

It does not rely on your operating system. A JavaScript build of the libheif decoder runs inside the page and unpacks the HEVC image itself, then re-encodes it as a JPEG. That is why the tool works identically on Windows without the HEIF Image Extensions installed, on Linux, and on an older Mac.

How much quality do I lose?

The JPEG is written at 90% quality, which is visually indistinguishable from the source at any normal viewing size. There is a real loss in principle — HEIC and JPEG are different lossy codecs, so the pixels are re-encoded — but nothing you will see. Keep the original .heic file if you may need to re-export later.

Why only one photo at a time?

Decoding HEVC in JavaScript is heavy work, and a 12-megapixel photo takes real memory and CPU. Running a whole camera roll at once would freeze the tab or crash it on a phone, so the tool deliberately handles one file per run. For a large batch, it is usually faster to change the setting on the phone instead — see the next answer.

Can I stop my iPhone producing HEIC files altogether?

Yes, and for a lot of people that is the better fix. On the phone, open Settings > Camera > Formats and choose Most Compatible; new photos are then captured as JPEG. There is also Settings > Photos > Transfer to Mac or PC > Automatic, which converts on the way out when you plug the phone into a computer.

What about Live Photos and bursts?

A Live Photo is a still image plus a short video, stored separately. Only the still is inside the .heic file, so that is what you get back — the motion is in a companion .mov that the phone keeps alongside it. Sequence files with .heics or .heifs extensions are accepted, and the first image in the sequence is converted.

Does the location where I took the photo travel with the JPEG?

Do not assume either way. If the picture is going somewhere public and the GPS coordinates matter to you, run the converted JPEG through Remove Image Metadata afterwards — that tool is built to strip EXIF, IPTC and XMP blocks and will show you a clean result.

The conversion failed. What now?

The usual causes are a file that is not actually HEIF despite the extension, a partially copied file from a phone transfer that stopped early, or a HEIC variant the decoder does not handle. Re-copy the file from the device and try again. If it still fails, open it on the phone and export or share it as JPEG directly.

Is anything uploaded while it converts?

No. The decoder and the JPEG encoder both run inside this browser tab on your own processor. There is no server involved, nothing is stored, and once the page has loaded you can disconnect from the internet and the conversion still completes.