Convert HEIC to JPG
iPhone photos (.heic) that won't open on Windows or in upload forms? Convert them to universal JPG in seconds, in batch, with zero upload.
Your images
Settings
Generated images
- Nothing uploaded
- Free, no sign-up
- Strips EXIF
- Batch files
Since iOS 11, iPhones have shot photos as HEIC — a space-saving format that Windows opens only with two codecs from the Microsoft Store and that no browser except Safari displays. Here the JPG conversion happens on your own device: drop several photos at once and download everything as a .zip.
Privacy matters for personal photos: nothing travels over the internet, and metadata (GPS location, date, device model) is automatically stripped from the output file.
How it works
JPG is already selected when the page opens. The only real decisions are how many photos you feed it at once and how hard you compress them.
Add the .heic photos
Drag them in from wherever they landed — a Photos export, a USB copy, an email folder. Both .heic and .heif are accepted, and you can queue a whole batch.
Leave it on JPG, adjust quality if you need to
The format is preset to JPG and the slider sits at 82, which is invisible on a phone photo. Pull it toward 70 if the files still have to fit an upload cap; below 60 it starts to show in skin tones and skies.
Generate and take the batch
Click Generate images. Each photo keeps its original file name with a .jpg extension, so the folder stays matched and sortable. Download them one at a time, or the whole set as a .zip.
Why .heic breaks things and .jpg does not
HEIC is a HEIF container with the picture inside coded in HEVC, the same codec as H.265 video, and HEVC is covered by patents that are licensed through pools. That licensing is the reason Can I use gives for browsers leaving out a format iPhones have been shooting since iOS 11.
On Windows, according to Microsoft Support, the Photos app needs two extensions from the Microsoft Store, and both of them even if you only care about photos: the HEIF one is free, the HEVC one is a paid listing. Upload forms are a separate failure entirely. A form can declare which file types it takes, and the server checks again on its side; when that list is JPG, PNG and PDF, a .heic is turned away before anything even tries to decode the file.
JPEG has none of that baggage: MDN lists it as supported in every version of Chrome, Edge, Firefox, Opera and Safari. The versions, prices and sources behind this section are in the guide on what HEIC is.
Getting the originals off the phone still as .heic
Half the time the conversion is not the hard part — getting hold of an actual .heic is. Apple Support lists several places where iOS may convert on the way out.
- USB import into Photos, Image Capture or a PC: the media might be converted to JPEG. To stop that, Apple's instructions are Settings, Apps, Photos, then scroll down and tap Keep Originals.
- AirDrop, Messages and email: when the receiving device does not support the newer format, the photo might automatically be shared as JPEG.
- iCloud Photos keeps the media in its original format.
- If you end up here often, Settings, Camera, Formats, Most Compatible makes the phone shoot JPEG from that point on. It does nothing to photos you already took.
The conversion is two encodes, not one
Safari 17 and later can display a .heic inside a web page; Chrome, Edge and Firefox cannot decode one at all. So this page does not ask the browser. The first time you drop a HEIC in, it fetches a decoder library, which hands back a JPEG at quality 95, and that image is then drawn to a canvas and encoded a second time as your final JPG. Everyone gets the same result, whatever they are running.
So the picture takes two lossy passes here. It is a good reason not to run the same photo through repeatedly, and a good reason to convert from the original rather than from a copy of a copy.
One consequence: the page needs a connection for the first HEIC, because that decoder, about 1 MB, has to arrive. The code comes down; your photo does not go up. Decoding also takes memory, so if a phone stalls on a large batch, feed it fewer files at a time.
What an iPhone photo leaves behind
A .heic off a recent iPhone can carry more than the frame you see. This page converts the main image and nothing else.
- Live Photo motion. Apple describes a Live Photo as two paired files, a still and a QuickTime movie; the .heic is only the still.
- The Portrait mode depth map. Apple stores it as an auxiliary image inside the HEIC, and it does not travel.
- The HDR gain map, which iPhone photos have carried since 2020 according to Apple. What you get is the standard-range version of the shot.
- The EXIF block — GPS coordinates, timestamp, camera model and settings. Stripped on purpose, every time, and every card says EXIF stripped so you can see it happened.
Frequently asked questions
Why does the iPhone save in HEIC?
To save space. Apple's own figure is up to twice the compression of JPEG, with the picture looking the same. The cost is compatibility outside Apple's ecosystem.
Can I make my iPhone save JPG directly?
Yes. In Settings, Camera, Formats, choose Most Compatible. New photos will be JPG — existing ones stay HEIC.
Does converting lose quality?
Some, in two steps: reading the HEIC produces a quality-95 JPEG as a stepping stone, and the final file is encoded at the slider value, which starts at 82. Keep the original .heic, and convert from it rather than from a copy that was already converted.
Why is the JPG bigger than the .heic it came from?
Because HEVC compresses harder than JPEG — about twice as hard on average, by the figure Apple gave developers. A JPG that matches the look needs roughly twice the bytes. If size matters more to you than the last trace of detail, pull the quality slider down before generating.
Is GPS data preserved?
No. EXIF, including the location where the photo was taken, is stripped during conversion.
Can I convert straight from the iPhone itself?
Yes. Open this page in the phone's browser and pick the photos with the file button. The conversion runs on the phone, and nothing is uploaded.
One photo failed with an error while the rest worked. Why?
HEIF is a container, and what goes inside it differs from one device to the next: Sony, for example, documents 10-bit HEIF on its cameras. When the decoder cannot read a file, that card shows an error rather than quietly giving you a broken image, and the other files are converted as usual.
I need PNG or WebP out of these, not JPG.
The format bar is still there after you drop the files — click PNG or WebP and generate. Expect the PNG to be much larger than the JPG, since it stores every pixel exactly.