HEIC to JPG converter
Turn iPhone photos into JPGs that open on anything. The conversion runs inside this page — your photos are never uploaded.
- 0 uploads
- No limits
- No signup
- Works offline
What this actually does
Your iPhone records photos as HEIC, a container built on the HEVC video codec. It is genuinely clever compression — the same image at roughly half the bytes of a JPEG. It is also the reason a photo you emailed to a colleague arrived as a file their laptop refused to open.
This page decodes HEIC with libheif, compiled to WebAssembly, running in a Web Worker inside your own browser. The decoded pixels are then re-encoded as JPEG with MozJPEG, the encoder Mozilla built to squeeze more quality out of the same byte budget. Both steps happen on the processor in front of you. Nothing is uploaded, nothing is queued, and nothing is stored.
That architecture is the whole product. It is why there is no size cap, no daily allowance and no paid tier: converting your thousandth file costs us exactly what converting your first one did, which is nothing.
Who ends up here
Three groups, mostly:
- People sending photos to someone on Windows or Android. HEIC support on Windows requires a codec pack from the Microsoft Store that many people never install, so the file simply will not open.
- People filling in an online form. Visa applications, university portals, job boards, tax filings and insurance claims almost universally accept JPG and PNG only. A HEIC upload is rejected without much of an explanation.
- People archiving photos. JPEG is the most durable image format there is. In twenty years it will still open on anything with a screen; HEIC’s future is less certain.
If you are in the second group, you will probably also hit a file-size limit on the form. The result screen lets you send the converted JPG straight into our image compressor — including its exact-size mode, which is built for “attachment must be under 200 KB” instructions.
Quality, honestly
Converting HEIC to JPG is a lossy-to-lossy transcode. Some information is lost. How much depends on the quality setting:
| Quality | Typical 12 MP photo | Visible difference |
|---|---|---|
| 100 | 4–6 MB | none, but wasteful |
| 90 (default) | 1.5–2.5 MB | none at normal viewing size |
| 80 | 0.8–1.4 MB | none unless you zoom in |
| 70 | 0.5–0.9 MB | faint softening in fine detail |
| 60 | 0.3–0.6 MB | visible on skin and gradients |
For anything you will print or edit further, stay at 90 or above. For email and web use, 80 is a sensible default that most people cannot tell apart from the original.
About the metadata
HEIC files from a phone carry a lot more than pixels: GPS coordinates, the exact capture time, the camera model, lens, exposure settings, and sometimes the name you gave your device. By default this converter drops all of it, and the JPEG you get out contains image data only.
If you would rather keep the camera and date information, tick the box before converting — but be aware that on a JPEG source this also carries the location across. If you want to see exactly what a photo is currently revealing, our EXIF viewer will show you, including a map link for the GPS tag.
Compared with an upload-based converter
| Filestay | Typical online converter | |
|---|---|---|
| Where your file goes | stays in this tab | uploaded to a server |
| File size limit | none | commonly 5–100 MB on free tiers |
| Files per batch | limited by your RAM | commonly 2–20 |
| Daily limit | none | common on free tiers |
| Works offline | yes, once installed | no |
| Waiting for upload | none | proportional to your connection |
| Account required | no | often |
The one thing a server-side converter can do that we cannot is use more compute than your device has. For a 48-megapixel batch on a five-year-old phone, that occasionally matters. For everything else, doing the work locally is simply faster, because the slowest part of a cloud converter is almost always the upload.
How it works
- 01Add your HEIC filesDrag them onto the box, click to browse, paste with Ctrl/Cmd+V, or drop a whole folder. Batches of a hundred are fine.
- 02Conversion starts on its ownThere is no “start” button. Each file is decoded by a WebAssembly build of libheif running in a background thread, so the page never freezes.
- 03Adjust quality if you want toThe default is 90, which is visually indistinguishable from the original for almost every photo. Lower it if you need smaller files.
- 04DownloadSave files one by one, or grab everything as a single .zip. The zip is also built on your device.