Somebody sent you a .HEIC, or there are forty of them on a laptop that will not open one. Put them here and take JPGs away. The decoder loads the moment a file crosses the panel, so the wait happens while you are still dragging.
The format your phone chose, and why it is in the way
HEIC is High Efficiency Image File Format holding a picture coded with HEVC. Apple made it the camera default in 2017 for a straightforward reason: it stores the same photograph in about half the bytes of the JPEG the phone used to write. On the phone this is invisible. Photos opens it, AirDrop moves it, and sharing into most apps converts it on the way out without mentioning it.
The trouble starts when the file itself travels. A HEIC dropped into a Windows folder needs a codec from the Microsoft Store, and on older builds of Windows there is no codec to install. A HEIC attached to a job application is refused by the upload form. A HEIC handed to a print shop, a council portal, an insurance claim or a school website is a file nobody at the other end can see. The job is finished when those files are JPGs, and nothing else about them needs to change.
Two hundred of them is the normal case rather than the exceptional one, which is why this page is a queue and not a single slot.
Converting a folder of them
- Select the photos in Finder or Explorer and drag the whole selection onto the panel above. The file picker works too, and so does pasting.
- Each row reads its own first bytes. A file named .jpg that is really HEIC inside — which happens when a phone or a chat app renames on the way — is treated as what it is.
- Leave quality at 82 unless you have a reason. It is the point where a phone photograph stops looking different from the original.
- Decide about the location. Metadata is carried across by default so the capture dates survive; the second switch drops the GPS coordinates and keeps everything else.
- Press Download all as ZIP. The queue takes one file at a time, in a background worker where the browser provides one and on the page's own thread where it does not, each row reports what it produced, and a file that fails does not stop the rest.
Live Photos, portrait mode, and what actually survives
A Live Photo is two files: a still and a short video. Only the still is inside the HEIC, and only the still can become a JPG — there is no arrangement of JPEG bytes that holds three seconds of movement. If the movement is the point, export the video from Photos as well; this converter never sees it.
A portrait-mode photograph carries a depth map alongside the picture, which is what lets the phone re-blur the background afterwards. The JPG holds the rendered result, not the depth map, so the blur becomes permanent at the moment of conversion.
Colour is the one people notice. A recent iPhone shoots Display P3, a wider set of colours than sRGB, and on newer models the file also carries an HDR gain map that makes bright areas brighter on a screen that can show it. The JPG written here holds the sRGB conversion. Saturated reds and greens that sat outside sRGB clip to the edge of it, and the gain map is discarded. On most photographs this is invisible. On a sunset, or on a photo of a neon sign, it is not.
Capture date, camera model, lens, exposure and orientation are rewritten onto the JPG as a metadata block. Orientation is written as upright, because the pixels were turned upright when the file was read — carrying the original rotation flag would tell the next program to turn them again. The block itself is found by scanning the opening megabyte of the container, which is where an iPhone puts it; a file that keeps its metadata deeper in than that still converts, and arrives with none.

