HEIC → JPG

iPhone photos converted to universal JPG. Free, no upload. 1 GB max · Up to 1 GB · Processed locally, never sent to a server.

You send a photo taken on an iPhone and the person at the other end cannot open it. Or an application portal rejects the upload. Or Windows File Explorer shows a grey placeholder where the thumbnail should be. The file carries the .heic extension, and the photo is not the problem: the codec needed to read it is simply not installed on the machine at the other end.

This tool loads heic2any, a library that bundles a build of libheif compiled to run inside a browser, and executes it in a Web Worker created from a script shipped with the library. The decoder rebuilds the photo’s pixels, which are then drawn into a canvas and re-encoded as JPEG by the browser at the quality level you set. The file name is kept; only the extension changes.

One point deserves to be stated plainly: the converter script is downloaded the moment you click, from this site’s own assets folder and not from a third-party server. That is the only network request the operation makes, and it carries no image. Your photos are read by the worker, inside the tab. Several files can be dropped together and are converted one after another.

How to use it

  1. Drop your .heic photos The picker filters on .heic and .heif. You can add several at once; the list shows the size of each one, and the cross removes a file from it.
  2. Set the JPG quality The slider runs from 50 to 100% in steps of 5 points and starts at 90%. That value is handed to the encoder exactly as it stands.
  3. Click “Run” The HEIC converter is fetched on the first run, then each photo is processed in turn, its name appearing in the progress bar.
  4. Compare the two file sizes Every result line shows the size of the HEIC followed by the size of the JPG. Depending on the quality you chose, the second can be smaller or distinctly larger.
  5. Download One button per photo, plus a “↓ Download all (ZIP)” button as soon as there is more than one. The archive takes its name from the first file in the list.

What is actually inside a HEIC file

HEIC is the name Apple gives to a HEIF file whose images are compressed with the HEVC video codec, also known as H.265. HEIF is a container standardised by MPEG under the reference ISO/IEC 23008-12: rather than a single image, it can hold several images, a thumbnail, a transparency mask, a depth map, a gain map for HDR, and non-destructive editing instructions.

Apple switched it on by default with iOS 11, in September 2017, on devices whose chip could encode and decode HEVC in hardware. At comparable quality the file weighs roughly half as much as a JPEG according to the figures Apple puts forward, and coding at 10 bits per channel holds gradients together better.

Why Windows and many sites turn it away

The obstacle is less technical than legal. HEVC is covered by patents administered through several licensing pools, which stops operating systems from including it free of charge. On Windows, the HEIF Image Extensions package is offered on the Microsoft Store but leans on an HEVC codec whose version sold in the same place is paid for; some PCs receive it preinstalled from their manufacturer, others do not. Hence grey thumbnails that vary from one machine to the next.

On the web, outside Safari on Apple devices, browsers cannot display HEIC at all. That is why this tool has to load a decoding library, where the site’s WebP or PNG conversions make do with built-in browser functions. Government forms, shop back offices and recruitment platforms therefore almost never accept a .heic upload.

What the conversion leaves behind

A single image comes out of the container. When a HEIC holds several — a burst, or the still series attached to a Live Photo — the decoder returns them all but the tool keeps only the first. The moving part of a Live Photo never even enters the picture: it is a separate .MOV file stored alongside the .heic in the photo library, and it is not handed to the converter.

The rest disappears on export. The output is an 8-bit JPEG in standard colour: the 10-bit depth, the HDR gain map and the depth map of a portrait have no equivalent there. Neither do the EXIF fields, since the JPEG is written from a canvas that passes on pixels and nothing else — no date, no GPS position, no camera model. Orientation follows the same rule: no rotation tag is written, and if a photo comes out lying on its side, it is because the rotation was a property of the container rather than a transformation of the pixels.

Shooting straight to JPEG on an iPhone

The setting sits in Settings, Camera, Formats. Two choices appear there: “High Efficiency”, which produces HEIF and HEVC, and “Most Compatible”, which sends the camera back to JPEG for photos and H.264 for video. Switching to the second removes the question at source.

Three caveats. The change does not touch photos already in the library, which stay HEIC. The files will take more space for comparable quality. And some modes require high efficiency: depending on the model, video at its highest frame rates or capture at very high resolution is no longer offered.

There is a middle option in Settings, Photos, under the heading for transferring to a Mac or PC: “Automatic” converts photos to JPEG as you copy them to a computer, whereas “Keep Originals” hands over the raw HEIC.

Frequently asked questions

What happens to a Live Photo?

Only the main still is converted. The extra images inside the container are set aside, and the short video attached to it is a separate .MOV file that stays in your photo library and is never submitted to the converter.

Which quality value should I choose?

90% is the default and suits printing as well as sharing. Below 80%, flat areas of sky and faces start to show blocks. At 100% the file swells without becoming lossless: JPEG stays a lossy format wherever the slider sits.

The JPG is heavier than the HEIC I started from. Is that a bug?

No. HEVC compresses more efficiently than JPEG at equal quality, and ending up with a larger file is common at 90%. Lowering the slider reverses the ratio, at the cost of quality.

Are the GPS coordinates and the date of the photo kept?

No. The JPEG is written from a canvas, which passes on pixels only. That is welcome for a photo meant to be published, and awkward for archiving: keep the original HEIC if you care about that context.

The tool says the file could not be converted and asks whether it really is a HEIC/HEIF file.

The library inspects the first bytes and refuses files that are already JPEG, PNG or GIF. That is the case for a file simply renamed to .heic, or for a photo already converted during transfer from the iPhone.

How many photos can I convert in one go?

The code sets no limit on the count, but each image is decompressed in memory: a 12-megapixel photo takes about 48 MB once developed, at four bytes per pixel. On an older device, split large batches.

How do I open a HEIC file on Windows without installing anything?

Convert it here: the decoder travels with the page. heic2any, which bundles a build of libheif, is fetched from this site’s own assets folder the first time you click and runs in a Web Worker inside the tab, so nothing has to be installed on the machine. Windows itself needs the HEIF Image Extensions package, which leans on an HEVC codec sold separately on the Microsoft Store — preinstalled by some manufacturers, absent on other PCs — which is why thumbnails are grey on one machine and fine on the next.

Are my photos uploaded when I convert HEIC to JPG?

No. The only network request the operation makes is the converter script, downloaded from this site’s own assets folder at the moment you click, and it carries no image; the photos themselves are read by the worker inside the tab. Files are accepted up to 1 GB, with a warning past 400 MB, though the real ceiling is the memory of the device rather than any rule in the code.

My converted photo comes out lying on its side. How do I fix it?

Rotate it in any image viewer afterwards; nothing in the conversion can do it for you. The JPEG is written from a canvas, so the pixels arrive exactly as the decoder laid them out, and no orientation tag is written into the file. When a HEIC records its rotation as a property of the container rather than as a transformation of the pixels, that instruction has nowhere to go and the photo lands sideways.

Similar tools

Discover other tools

Categories