Convert HEIC to JPG
Your iPhone photos, in a format everything opens. They never leave this tab.
Runs in your browser0 bytes uploadedYour iPhone photos, in a format everything opens. They never leave this tab.
Runs in your browser0 bytes uploadedDrop your HEIC photos here
or paste Ctrl+V
Nothing is uploaded. The photos are converted to JPG inside this tab — including the GPS coordinates an iPhone writes into every one of them.
Need a lossless file, or a transparent background? Convert HEIC to PNG.
Browsers without built-in HEIC support decode with libheif, self-hosted here under the LGPL-3.0-only license. Source: github.com/strukturag/libheif.
You hand over one photo or the whole camera roll. Each file is read, decoded, re-encoded as JPG at the quality you choose, and handed back — with a download for every picture and one ZIP for the lot. None of it goes anywhere. There is no upload endpoint on this site to send it to.
Before anything is converted you see what you dropped: file name, size, pixel dimensions, and whether the file carries GPS coordinates. Those dimensions come out of the file header, not out of a decode, so they appear the instant you drop the files rather than after a second of work. That ordering is the point. The decision you are about to make — quality, location data, whether to scale anything down — needs that information first, not afterwards on a receipt.
HEIC is a container built around HEVC, the same video codec used for 4K streaming, applied to a single frame. It is roughly twice as efficient as JPEG at equivalent visual quality, which is how a twelve-megapixel photo fits into two megabytes instead of four. Apple switched the default camera format in iOS 11 and never switched back, so every iPhone since 2017 fills its camera roll with files that Windows, older Android builds, most upload forms and a good number of web apps still refuse to open.
That gap is the entire reason this page exists. The format is better; the support is worse. Converting is not an admission that HEIC was a mistake — it is what you do when you need to hand the picture to something that has never heard of it.
Expect the converted file to land somewhere between one and a half and two times the size of the original. People often read that as a failed conversion. It is not. You are moving from a modern codec to one designed in 1992, and the extra bytes are what compatibility costs.
If the size matters more than the format, the quality slider is right there, and dropping from 82 to about 70 is invisible on a photograph while cutting the file meaningfully. If you need to hit a specific number — a form that caps at 2 MB, an email attachment limit — convert here first and then compress the JPG to a target size, which searches for the quality that lands under your limit instead of making you guess.
Safari on macOS and iOS can decode HEIC using the same system codec the Photos app uses. If you are on an iPhone or a Mac in Safari, that is what runs, and nothing at all is downloaded. Chrome, Firefox and Edge cannot decode HEIC — not even on a Mac, where the operating system decoder exists but the browser never calls it. In those browsers a decoder is fetched once, about one megabyte, and cached. The progress bar shows the real byte count, because a fake one is worse than none.
The decoding runs in a background worker rather than on the page. A twelve-megapixel photo takes a few hundred milliseconds to decode, and thirty of them on the main thread would freeze the tab solid. Off the main thread, the page stays responsive and you can still remove a file or change the quality while the batch runs.
A HEIC straight out of an iPhone carries an EXIF block, and that block normally includes the exact coordinates where the photo was taken. Home addresses, schools, hotel rooms. Location removal is switched on by default here for that reason. Orientation is a separate matter and is always preserved: the rotation is applied to the pixels during decoding, so the picture comes back upright whether or not you keep the metadata.
That is also the argument against uploading photos to a conversion site. Whatever the privacy policy says, the coordinates arrive on the server before anything is stripped. Here the file is opened by your own browser, and you can confirm it in the network tab.
A JPG holds exactly one image. A Live Photo is a still plus a short video, and a burst is a sequence — so the conversion keeps the primary image, the same key frame the Photos app shows you, and says so rather than quietly discarding half the file. Files that turn out not to be HEIC at all get flagged instead of failing: a JPEG that someone renamed, an AVIF that needs a different codec, a partial copy that never finished. The file is identified by its magic bytes, never by its extension, because the extension is a claim the user made and the bytes are a fact.
Because no browser can encode HEIC. The decoding side is solvable — that is what the decoder above does — but writing HEVC requires an encoder no browser exposes and a patent situation nobody wants to walk into. A page promising it would either upload your photos or not work. The honest sibling in this cluster goes the other way instead: PNG, when you need a lossless file or a transparent background.
No. On Safari the decoding is done by the same HEIC support your Mac or iPhone already uses for the Photos app. Everywhere else a decoder is downloaded once and run inside this tab. Either way the photo itself is never sent anywhere, which matters more here than for most files — a HEIC out of an iPhone carries the GPS coordinates of where it was taken.
Usually yes, and that is expected. HEIC is roughly twice as efficient as JPEG at the same visual quality, so the same photo as JPG is commonly one and a half to two times the size. You are trading file size for the ability to open it anywhere, which is normally the trade you came here to make.
It is removed by default. A HEIC from an iPhone carries EXIF including the exact coordinates where the photo was taken, and most people posting a converted photo do not intend to publish that. Orientation is kept regardless, so the picture is never sideways. If you want the full EXIF preserved, there is a switch for it.
Because a JPG holds exactly one image. A Live Photo is a still plus a short video, and the video half has no place to go in a JPG. The still you get is the same key frame the Photos app shows you, and the tool says so on the receipt rather than quietly dropping half the file.