HEIC to JPG
Turn iPhone HEIC photos into JPG files that open everywhere, with the date and the GPS tag kept, and the picture the right way up.
Drop your files here
.heic, .heif, .hif · up to 100 MB
How to convert HEIC to JPG
- 1
Drop your HEIC photos
Up to 50 at a time, straight from an iPhone or from a folder your phone synced. Files arriving with no MIME type, which is what Safari usually sends, are accepted by extension.
- 2
Pick quality and what to keep
Quality 90 is the default and is visually indistinguishable from the original. Decide whether the capture date and the GPS coordinates travel with the photo.
- 3
Download the JPGs
One photo comes back as a single .jpg. Several come back as pulsarkit-heic-to-jpg.zip, and a file that fails does not stop the rest of the batch.
Why other converters hand you a sideways photo
A HEIC file can describe rotation in two completely different places. Modern iPhones write an irot property into the container itself, so any correct decoder already returns the photo upright. Older ones, an iPhone 7 for instance, write nothing into the container and record the rotation only in the EXIF Orientation tag, so the decoder returns the frame lying on its side. A converter that blindly applies the EXIF tag rotates the modern photo twice and lays it down; a converter that ignores the tag leaves the older photo sideways. This tool reads both, applies whichever one has not been applied yet, bakes the result into the pixels and writes Orientation = 1 into the output so nothing downstream rotates it a third time. Both cases are covered by tests running on real photos from both phones.
What travels with the photo, and what does not
With "Keep date, camera and settings" on, which is the default, the capture date, camera make and model, lens, exposure and ISO are rewritten into an APP1 segment of the JPG, exactly the way a camera would have written them. GPS coordinates travel separately and can be dropped on their own, which is the setting most people want before posting a photo publicly. The embedded thumbnail is always discarded: it shows the photo at its original orientation and size, and keeping a stale preview inside a converted file causes more confusion than it saves bytes. If you need the file completely clean, Remove Image Metadata is one click away in the pipeline.
When a .heic file is not HEIC at all
Some cameras and messaging apps save AV1 data inside a container and still call the file .heic. The format here is decided by reading the first twelve bytes, never by the extension, so those files are recognised as AVIF and decoded with the AVIF codec instead of the HEIC one. You get a converted JPG and a note about what was actually inside, not an error. A file whose container brand is neither HEIC nor AVIF, say a video renamed by mistake, is refused with a clear message rather than a broken image.
The decoder, and the licence it comes with
HEIC is not something a browser can open on its own, so this page uses libheif 1.19.8, the reference open-source implementation and the same one behind most desktop HEIC support. It is licensed under the LGPL-3.0, which requires that it be shipped as a separately replaceable component rather than melted into the rest of the code, and that its source be available. Both conditions are met literally: the WebAssembly module is fetched as its own file from /libheif/ and is not part of any bundle, the licence text sits next to it at /libheif/LICENSE, and the unmodified sources of exactly this version are at https://github.com/catdad-experiments/libheif-js/tree/v1.19.8 and https://github.com/strukturag/libheif. The practical side effect for you is a one-time download of the decoder, a file of about 1 MB, the first time you convert something, cached by your browser afterwards, including for the PNG converter, which shares the same module.
Your photos never leave your device
Decoding and re-encoding both run inside your browser tab through WebAssembly. The HEIC decoder is fetched once as a separate module, cached by your browser, and works on the bytes locally. No photo is uploaded, no copy is stored, and closing the tab clears everything from memory. That matters more here than almost anywhere, because these are personal photos with a date and a location attached.
Frequently asked questions
Why does my iPhone save photos as HEIC instead of JPG?
HEIC stores the same picture in roughly half the space of a JPG at similar quality, which is why Apple made it the default in iOS 11. The trade-off is compatibility: plenty of Windows apps, older photo software and web upload forms still refuse it, which is exactly when you need a JPG.
Why do other HEIC converters turn my photo sideways?
Because rotation lives in two places in a HEIC file and they do not always agree. If a converter applies the EXIF Orientation tag to a photo whose container already carried the rotation, it rotates it twice. This tool checks the container first and only falls back to EXIF when the container says nothing.
Is the capture date and GPS location preserved?
Yes, both by default, and each can be turned off separately. The date, camera and exposure settings are rewritten into the JPG's EXIF block; GPS coordinates have their own switch, so you can keep the date and drop the location before sharing a photo.
What happens to a Live Photo?
You get the still frame, which is what a Live Photo's .heic file actually contains; the video half lives in a separate .mov file next to it. The still is taken from the container's declared primary image, so you get the real photo rather than a low-resolution preview.
Why is my .heic file sometimes actually an AVIF?
Because some tools save AV1-compressed data in a HEIF container and keep the .heic extension. Since the format is read from the file's own bytes, those are detected and decoded as AVIF automatically. The conversion still works and the result tells you what was inside.
How many photos can I convert at once?
Up to 50 files, 100 MB each and 500 MB in total. They are processed one after another with the same settings, the progress bar tracks completed files, and anything that fails is skipped rather than cancelling the whole batch.
Does this work directly from my phone?
Yes. Everything runs in the browser, so opening this page on an iPhone and picking photos from the camera roll works the same as on a desktop. Because Safari often reports an empty MIME type for HEIC, the file picker also accepts files by their .heic, .heif and .hif extensions.
Do my photos get uploaded to a server?
No. The decoder and encoder are WebAssembly modules running in your tab; the photo bytes are read from your disk into memory and never sent anywhere. There is no account, no queue and nothing to delete afterwards.
Guides
- An iLoveIMG Alternative for Image Jobs: What Matches, What Is MissingOn October 20, 2026, we matched the 13 tool cards on iLoveIMG's home page against PulsarKit. 11 had a counterpart; Upscale Image had none, and Blur face only came close.
- A TinyWow Alternative: What Matches and What Is MissingOn October 20, 2026, we matched the 187 PDF, image and video cards on TinyWow's tools page against PulsarKit. 111 had a counterpart; AI edits, transcripts, social video downloads and some formats did not.
- Batch-Converting a Folder of iPhone HEIC Photos to JPGConverting a folder of iPhone photos to JPG sounds trivial, until a handful of them come back rotated the wrong way for no obvious reason.