How to convert HEIC to JPG (fix iPhone photos on Windows, Android & the web)
Why iPhones save HEIC, why everything else rejects it, and three ways to convert HEIC photos to JPG — including a private, in-browser method that uploads nothing.
By The ConvertKit Team · Published · Updated
Why your iPhone saves HEIC in the first place
Since iOS 11, iPhones have saved photos as HEIC (High Efficiency Image Container) by default. The reason is straightforward math: HEIC uses the HEVC codec — the same compression behind 4K video — and it stores a photo at roughly half the size of a JPEG with equal or better visual quality. On a phone that shoots 48-megapixel images, that difference is the gap between a library that fits on the device and one that does not, and it also saves upload bandwidth every time a photo syncs to the cloud.
HEIC can hold more than pixels: Live Photos, depth data, and structured metadata all live inside the same container. The trade-off is compatibility. Windows historically needed a paid codec from the Microsoft Store to open HEIC files, many Android devices handle them inconsistently, web forms reject them, print labs have never heard of them, and email recipients on older systems see an error instead of your photo. The format is excellent for storage and poor for sharing — which is exactly why conversion comes up constantly.
What goes wrong when you skip conversion
The classic failure is the upload form that accepts "JPG, PNG" and silently rejects your HEIC, or accepts it and shows a broken thumbnail downstream. Print labs reject HEIC outright. Windows File Explorer shows a generic icon with no preview unless the HEVC extension is installed. Shared albums look fine to other iPhone users and empty to everyone else, and content management systems that process images server-side frequently throw errors on HEIC because the server lacks a decoder.
There is a subtler problem too: apps that do open HEIC sometimes flatten the Live Photo, discard the depth map, or convert color profiles differently than Apple's own pipeline. Converting deliberately — with a tool you control — means you decide what survives: the still frame, the full resolution, and the color as shot.
Method 1: convert in your browser (private, no upload)
The fastest path that keeps photos private is an in-browser converter. The ConvertKit image studio decodes HEIC on your own device using the browser's WebAssembly and Canvas pipelines: you drop files in, they convert to JPG locally, and download starts in seconds. Nothing is transmitted — there is no server that could retain, scan, or lose your pictures, which matters when the photos are of people, documents, or unreleased work.
This method also handles batches: an afternoon of photos converts in one pass, and results download as a single ZIP. Quality is preserved by keeping the output quality slider high — JPG quality 90+ is visually identical to the HEIC original while still being much smaller than the lossless PNG alternative.
- Open the ConvertKit image converter and drop your HEIC files into the drop zone (multiple files, up to 20, work at once).
- Set the output format to JPG and leave quality around 90 — high enough that no detail is visibly lost.
- Press Convert and watch the preview: each photo renders beside its original for a quick sanity check.
- Download results individually or as a batch ZIP, then use them anywhere JPG is accepted — which is everywhere.
Method 2: stop iPhone from saving HEIC at all
If the goal is to never convert again, change the capture format on the phone itself. On the iPhone, open Settings → Camera → Formats and select "Most Compatible" instead of "High Efficiency". Every photo and video you shoot from that moment saves as JPEG with standard video encoding. The cost is larger files on the device — roughly double the storage per photo — which matters if you shoot constantly at maximum resolution.
A middle path exists as well: Settings → Photos → Transfer to Mac or PC → Automatic. With that setting, iOS transparently hands JPEG versions to computers when you plug in over USB, while keeping HEIC on the phone for storage efficiency. Existing photos do not retroactively convert — they still need Method 1, 3, or the Windows photos app batch tools — but new imports behave correctly.
Method 3: convert on Windows or Mac
On Windows 11, the built-in Photos app can open HEIC (install the "HEIF Image Extensions" and, if needed, the paid "HEVC Video Extensions" from the Microsoft Store) and export a JPG via Save As. Batch options exist through Paint: open multiple files, re-save as JPG. On a Mac, Preview opens HEIC natively and exports JPEG through File → Export; if you receive HEIC files on Windows often, installing the free HEIF extension once solves previews permanently.
These OS tools are perfectly fine for one-off files. They fall down for volume — clicking through Save As for eighty photos is tedious — and they require the codec installed first, which is precisely the barrier you were trying to avoid. For anything more than a handful of images, the in-browser batch converter (Method 1) or changing the iPhone's default (Method 2) is less friction.
Preserving quality during the conversion
HEIC and JPG are both lossy formats, so converting re-encodes the pixels — the output cannot contain more detail than the decode of the original. In practice this means one quality reduction, from the HEIC decode to the JPG encode, and it is invisible if you keep the JPG quality at 90 or above. Dropping to 70 or below starts showing artifacts on faces, sky gradients, and fine textures, so resist the urge to squeeze the slider if quality matters.
Watch the resolution too: some converters silently downscale. Keep the original pixel dimensions (a 12 MP photo should convert to a 12 MP JPG), strip or preserve EXIF as you prefer, and convert from the original HEIC every time rather than round-tripping through other formats. If you plan to edit afterward, export a high-quality JPG first and do the creative edits on that copy.
- JPG quality 90+ — visually identical to the HEIC source
- Keep full resolution unless you have a reason to downscale
- Convert from the original HEIC, never from a re-shared copy
- Keep the HEIC originals archived — storage is cheaper than regret
What about HEIC on Android and the web?
The problem is no longer Apple-only. Some Android manufacturers save HEIC by default, web apps occasionally accept it and then fail to render previews, and social platforms vary in support month to month. The safe universal denominator remains JPG for compatibility, WEBP for web delivery, and PNG for graphics — HEIC is best understood as a storage format you consume on-device and convert before anything leaves the ecosystem that understands it.
If you publish photos online regularly, converting to WEBP instead of JPG is worth considering: smaller files at the same quality, transparency support, and universal support in current browsers. The same in-browser converter performs that swap just as easily — choose WEBP as the output instead of JPG and follow the identical workflow.
Live Photos, portraits, and what happens to the extras
HEIC is a container, not just an image, and containers carry things JPG cannot. The most visible example is the Live Photo: Apple stores it as a pair — a still frame plus a short MOV clip recorded around the same moment — and the two live side by side in your library. Converting the HEIC to JPG keeps the still frame and does nothing to the video half; the motion is not lost from your library, but a JPG by itself will never play it. If a converted Live Photo matters for a project, export the video separately from Photos (Share → the motion version, or save it as a video file) and move both outputs together.
Portrait mode photos carry depth information used for the background-blur effect. The rendered, blurred image is what the conversion captures — which is what you want in almost every case, since the blur has already been baked into the display version. But if you hoped to re-edit the blur later or export a sharp portrait without the effect, the depth map does not survive conversion to JPG, and the unblurred original stays inside the HEIC. The same applies to HDR gain maps and some of Apple’s computational-photography metadata: the converted JPG is the finished picture as you saw it on the phone, not the raw material behind it.
The practical rule: treat HEIC-to-JPG as exporting a finished photograph, not moving a project file. For sharing, printing, uploading, and embedding, that is exactly right. For anything where you expect to revisit the extra layers — depth, motion, extended dynamic range — keep the HEIC original (or export a second copy through Photos using its sharing options) alongside the converted JPG.
Choosing what to convert to: JPG, WEBP, PNG, or PDF
JPG is the default destination because everything accepts it, but the right target depends on where the photo is going, and the conversion tool gives you the choice for free. Send to JPG for forms, email attachments, print orders, and anything that validates file types — it is the universal answer that never triggers a support ticket.
Target WEBP when the photo is headed for a website or web app: at equal visual quality it is meaningfully smaller than JPG, which is real money in page-weight terms across a gallery. Every current browser opens it, and the conversion settings mirror JPG — quality around 90 and the pixels unchanged.
Choose PNG only when the source is not actually photographic. Screenshots and UI captures that happen to be in HEIC form deserve lossless treatment: text stays razor-sharp, and flat areas compress well. Forcing a real photo into PNG, conversely, inflates it several times over for fidelity no viewer will notice. And when the destination is a document rather than an image viewer — a report, a form packet, a submission that demands a single file — convert to JPG first and place it into a PDF, or in the converter, send images straight to PDF output in one step.
A compact decision table: JPG → everywhere, guaranteed; WEBP → your website; PNG → screenshots and graphics; PDF → documents and print-bound output. All four happen locally in the same browser tool, so picking the wrong one costs a re-export rather than a redo.
When the conversion misbehaves: colors, rotation, and failures
Three issues account for almost every complaint after HEIC conversion, and all three are diagnosable in seconds. Color shifts: iPhone cameras capture in a wide color gamut (Display P3), while JPG files often assume sRGB. A converted photo can look slightly flatter — reds a touch less saturated — when viewed on a screen that clamps wide colors. This is normal gamut mapping rather than damage; the pixels are faithfully carried over, and the difference is visible mainly in direct side-by-side comparison on a capable display. If absolute color match matters for print, convert with color management enabled in a desktop tool rather than the quick web path.
Rotation surprises come from orientation metadata: HEIC files often store rotation in EXIF rather than in the pixels, and some converters bake it in while others preserve it and let the viewer apply it. If a converted image arrives sideways, the usual cause is a viewer ignoring the orientation tag — open the JPG in a second viewer before blaming the conversion; if both agree it is wrong, re-export with orientation applied. Downstream tools that strip EXIF entirely (some CMS uploads) can also drop the flag, so for images that must never rotate, apply orientation once at export.
Hard failures are rarer and usually environmental: a truncated download that the decoder refuses to open (re-download the source), a file that is actually a video renamed to .jpg (check the extension and size), or a device running out of memory on a very large image during batch conversion (process smaller batches). When a conversion fails outright, the honest error you see is more useful than an upload-based service silently substituting a placeholder — but it also means the fix is on your side: verify the source, then retry.
A working routine for a large camera roll
A thousand-photo camera roll is a project, not a chore, and the difference is having a routine before you open the tool. Start with an inventory: check how many HEIC files you actually have, roughly how large they are, and whether any already have JPG counterparts from a previous sync — duplicated work is the most common waste in big conversions. Decide the destination format up front (JPG for general use, WEBP if everything lands on your own website) and the quality setting (90), because changing your mind halfway means redoing completed batches.
Then work in passes of twenty, the converter’s batch limit. Import a batch, convert, spot-check two or three results at full size, download the ZIP, and name it by range or date (camera-roll-2026-09-part1.zip) rather than leaving a pile of generic exports. Progress by batch creates natural checkpoints: if you stop after four batches, you know exactly where to resume, and no single interruption costs the whole session. Twenty files at a time also keeps memory comfortable on ordinary laptops — the failure mode with enormous single batches is the browser tab running out of room, not the codec.
Verification before you declare it done: open a converted ZIP at random from the middle of the set (the batches people are least careful about), confirm pixel dimensions match the source expectations, and check orientation on a few phone-portrait shots. Then archive — move the HEIC originals to storage rather than deleting them, with the same range naming. The converted JPGs are your working copies for sharing, uploading, and printing; the HEIC set is the master you will re-export from if a different format is ever needed. Storage is cheap; a camera roll that was converted in place with no fallback is not recoverable.
- Inventory: count HEIC files, check sizes, find any existing JPG duplicates to skip.
- Decide once: output format (JPG or WEBP), quality (90), and naming scheme.
- Work in batches of 20: convert, spot-check, download, label the ZIP by range or date.
- Verify a random middle batch for dimensions and orientation before finishing.
- Archive the HEIC originals under the same names — never convert in place.
Frequently asked questions
Is it safe to use an online HEIC converter?+
It depends where the file goes. Browser-based converters that process locally (like ConvertKit) never upload the photo, so there is nothing to intercept or retain. Upload-based services receive a copy of your image — check their privacy policy before sending personal or confidential photos.
Does converting HEIC to JPG lose quality?+
The conversion re-encodes pixels, so technically yes — but at JPG quality 90+ the difference is not visible in normal viewing. The bigger quality killers are lowering the slider below ~80 or letting a tool silently downscale the image.
Why can't Windows open my HEIC files?+
Windows needs the HEIF Image Extensions (free from the Microsoft Store) to decode HEIC, and some versions also require the paid HEVC extension. Converting to JPG avoids installing anything — the files open natively everywhere.
How do I convert a whole camera roll of HEIC photos?+
Use a batch converter: drop up to 20 files at a time into the ConvertKit image studio, convert at quality 90, and download the batch as a ZIP. For ongoing imports, change the iPhone to "Most Compatible" (Settings → Camera → Formats) so future photos save as JPG directly.
Keep reading
PNG vs JPG vs WEBP vs AVIF
Which image format to use, when — an honest comparison of the four formats the web runs on.
Compress images for the web
Practical steps and target sizes for making pages fast without visible quality loss.
Make a favicon from a PNG
Turn any logo or image into a multi-size ICO favicon in under a minute.
Merge PDFs
Combine contracts, scans, and chapters into a single clean document — plus when not to.