HEIC to JPG on Windows: A Developer's Survival Guide
HEIC to JPG on Windows: A Developer's Survival Guide The photos arrive in a shared folder: 40 shots from an iPhone, ready for a client gallery. On your Windows machine, half the thumbnails are blank, the upload form re
HEIC to JPG on Windows: A Developer's Survival Guide
The photos arrive in a shared folder: 40 shots from an iPhone, ready for a client gallery. On your Windows machine, half the thumbnails are blank, the upload form rejects every .heic file, and the one viewer that opens them wants a codec pack from the Microsoft Store. Nothing is corrupt. The files are just in a format Windows still treats as a stranger, and the fix is a conversion you can run without installing anything.
Converting to JPG is the conversion that unblocks this exact mess. JPG opens everywhere, forms accept it, and every editor built in the last twenty years reads it. This guide covers why Windows chokes on HEIC, when JPG beats PNG as the target, and a batch workflow that gets 40 photos uploaded without a codec install.
Why Windows still chokes on HEIC files
HEIC is Apple's default iPhone photo format since iOS 11, built on the HEIF container with HEVC encoding inside. Windows 10 and 11 do not ship the HEIF codec by default, so Explorer, older editors, and many upload forms do not recognise the files.
That last point is the one developers miss. A codec install is a local fix for a distribution problem. The moment a photo leaves your machine, it meets machines and forms you do not control. Conversion solves the distribution problem instead: the JPG you send opens on the recipient's machine whether or not they installed anything.
HEIC to JPG or HEIC to PNG: pick by what happens next
HEIC to JPG is the right target when the photo is headed for sharing, a form upload, email, or a CMS. JPG files stay small, every destination accepts them, and quality loss at 85 to 90 is invisible at normal sizes. HEIC to PNG fits further editing, where lossless pixels matter.
The tradeoff runs in opposite directions, so do not mix them up. JPG trades a little quality for a much smaller file. PNG keeps every pixel but can balloon: a 2MB HEIC often expands to 15MB or more as PNG, because PNG stores decoded pixels without HEIC's compression. If a form caps file size, PNG is the wrong target even though it is the lossless one. For a longer discussion of that size surprise, SnapShrink's HEIC to PNG converter page spells out the numbers. For sharing and uploads, convert to JPG and keep the HEIC original archived.
| The photo is headed for | Convert to | Why |
|---|---|---|
| A form, email, chat, or CMS upload | JPG | Accepted everywhere, small file |
| Further editing, cropping, or colour work | PNG | Lossless pixels, editing headroom |
| A size-capped portal | JPG | PNG often exceeds the cap on its own |
| Archiving the original | Neither, keep the HEIC | Every conversion throws away the option to redo it |
HEIC to JPG in batch: the workflow that actually works
Converting one photo is trivial. Converting 40 without losing track of which ones are done is where the process falls apart. The workflow below keeps the batch organised: one folder in, one ZIP out, and three spot checks before anything uploads.
- Copy the HEIC files into a single folder and sort by name, so the converted set matches the original set one to one.
- Open a HEIC to JPG converter that runs in the browser, drop the whole folder in, and set JPG output. SnapShrink's version decodes HEIC in the tab, so the photos never upload anywhere, which matters when the folder holds client work.
- Set quality 85 to 90 for photos headed to the web. Below 80, skies and smooth gradients start to band. Above 90, the file grows fast for a difference nobody sees at normal sizes.
- Download the batch as a ZIP, unzip into a folder next to the originals, and spot check three files at full zoom: one portrait, one landscape, one with text or fine detail in it.
- Upload the JPGs. Keep the HEIC folder. If a destination later wants WebP or PNG, convert from the HEIC again, never from the JPG, because each lossy pass throws away detail you cannot get back.
One check worth doing before you send anything on: open DevTools, go to the Network tab, and run a conversion. If the network stays quiet, the file never left your machine. Most free converters upload your photos to a server first. For a meme that does not matter. For client photos it is a privacy decision you should make deliberately, not by default.
What breaks during conversion
Three things catch people out during conversion: Live Photos and bursts, metadata loss, and orientation or colour handling. All three are avoidable once you know where each one bites, and none of them requires special software to work around. Each one gets its own fix below.
First, Live Photos and bursts. A HEIC file can carry extra frames, and a converter typically takes the primary still image. If you need every frame of a burst, export the burst from the Photos app first and convert the frames individually.
Second, metadata. Location and device EXIF data generally does not survive conversion, and Apple-specific metadata goes with it. For most uploads that is a bonus, since you probably did not want location data attached to a client gallery anyway. If you need metadata preserved, say so before converting, because you cannot recover it from the JPG afterwards.
Third, orientation and colour. HEIC stores orientation as metadata, and a converter that ignores it hands you a sideways photo. A decent converter applies the orientation during decode, so the JPG comes out the right way up. That is one of the three files worth checking in step 4 above: if a portrait comes out sideways, the tool is at fault, not the photo.
FAQ
Do I need the HEIF codec pack to convert?
No. A browser-based converter decodes HEIC in the tab using the browser's own decoder, so Windows never needs to understand the format. The codec pack only fixes previews in Explorer and other native apps.
Will the JPG look worse than the HEIC?
At quality 85 to 90, a photo looks the same at normal viewing sizes. The file gets bigger than the HEIC, because JPG compresses less efficiently, and fine text is where a difference would show first. Check text areas at full zoom before you send the file on.
Can I stop new iPhone photos from saving as HEIC?
Yes. On the iPhone, go to Settings, Camera, Formats, and choose Most Compatible. New photos save as JPG from then on. Photos already on the device stay HEIC until you convert them.
Back to that folder of 40 blank thumbnails. Convert the batch to JPG, keep the HEIC originals, and send the JPGs. The next person who opens them will see photos, not an error, and nobody has to install a codec to do it.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.