Skip to content

Convert HEIC to JPG on Windows Free Using WSL

Convert HEIC to JPG free on Windows using WSL. Turn iPhone photos into JPG with heif-convert or ImageMagick, batch a whole folder, and keep every file local.

MGMCSA Guru Team June 12, 2026 4 min read
A WSL terminal converting iPhone HEIC photos to JPG using heif-convert on Windows

You copy photos off an iPhone and they’re all .heic. Half your apps won’t open them, the photo printer’s website rejects them, and Windows handling of HEIC is hit or miss depending on which codec is installed. The usual workaround — upload a pile of personal photos to a free converter site — is exactly what you don’t want to do with family pictures.

WSL converts HEIC to JPG locally, for free, one file or a whole camera roll. Two tools cover it: heif-convert from the libheif project, and ImageMagick if you’d rather use one utility for all your image work.

If WSL isn’t installed, start with the WSL install guide.

What HEIC is, briefly

HEIC is Apple’s container for HEIF images. Recent iPhones use it by default because it fits similar quality into a smaller file than JPG. The catch is compatibility: plenty of Windows apps and older software still expect JPG. Converting solves that while keeping the originals intact.

Before you start

  • WSL installed with Ubuntu (or similar)
  • Your HEIC files copied somewhere reachable from WSL
  • A few minutes for the one-time install

Install the converter

The heif-convert command ships in the libheif-examples package. For the ImageMagick route, install imagemagick too:

sudo apt update && sudo apt install -y libheif-examples imagemagick

Confirm:

heif-convert --version

Convert a single HEIC to JPG

The simplest form takes the input and output names:

heif-convert input.heic output.jpg

Set JPG quality with -q (1–100); 90 keeps photos looking clean:

heif-convert -q 90 input.heic output.jpg

To work on your phone photos, cd into the folder first. Windows drives live under /mnt:

cd /mnt/c/Users/YourName/Pictures/iPhone
heif-convert -q 90 IMG_0001.heic IMG_0001.jpg

Batch convert a whole camera roll

This is the real win — one loop converts every HEIC in the folder and writes a matching JPG next to it:

for f in *.heic *.HEIC; do [ -e "$f" ] && heif-convert -q 90 "$f" "${f%.*}.jpg"; done
  • *.heic *.HEIC catches both lowercase and uppercase extensions.
  • [ -e "$f" ] skips a pattern that matches nothing.
  • "${f%.*}.jpg" swaps the extension, so IMG_0001.heic becomes IMG_0001.jpg.

Your HEIC files stay put — you end up with both.

The ImageMagick alternative

If you already use ImageMagick for other image jobs, it can read HEIC directly (when built with HEIC support, which the Ubuntu package usually includes):

magick input.heic -quality 90 output.jpg

Batch the folder:

for f in *.heic *.HEIC; do [ -e "$f" ] && magick "$f" -quality 90 "${f%.*}.jpg"; done

Two ways to convert

heif-convert -q 90 in.heic out.jpg Dedicated HEIF tool, simple and fast
magick in.heic -quality 90 out.jpg One tool if you already use ImageMagick
for f in *.heic; do heif-convert ... Batch a whole folder
heif-convert in.heic out.png Convert to PNG instead of JPG

If a HEIC has transparency or you want a lossless result, target PNG instead by changing the output extension to .png.

Wrapping up

Turning iPhone HEIC photos into JPG on Windows is a one-liner: heif-convert -q 90 input.heic output.jpg, or the same with magick if you prefer ImageMagick. Wrap it in a for loop and an entire camera roll converts in one go.

It’s free, it batches, and it runs in WSL — so your personal photos never get uploaded to a converter site. To slim the JPGs down afterward, see compress images without losing quality.

Frequently asked questions

Why are my iPhone photos in HEIC instead of JPG?

Recent iPhones save photos as HEIC by default because it stores similar quality in a smaller file. The downside is that older apps and some Windows software don't open it, so converting to JPG makes the photos universally usable.

Does converting HEIC to JPG lose quality?

There's a small re-encode since both are lossy formats, but at a high JPG quality (around 90–95) the difference is not visible for normal viewing. Keep the original HEIC files until you've confirmed the JPGs look right.

Can I convert a whole folder of HEIC files at once?

Yes. A short bash loop runs heif-convert on every .heic file and writes a matching .jpg. The loop in this guide does that and leaves your HEIC originals in place.

Do my photos get uploaded when I convert this way?

No. heif-convert and ImageMagick run locally in WSL, so your photos never leave the machine. That matters for personal photos you wouldn't want sitting on an online converter's server.

heif-convert isn't found after install — what package do I need?

On Ubuntu the heif-convert tool comes from the libheif-examples package. Install it with apt, then the command becomes available. ImageMagick with HEIC support is an alternative if you prefer one tool.

Sources & further reading

Official vendor documentation referenced while writing this guide.

MG

MCSA Guru Team

IT & Systems Administration

We are working IT pros and system administrators who spend our days in Windows Server, Microsoft 365, and the wider Microsoft stack. MCSA Guru is where we write down the fixes and walkthroughs we wish we had found the first time.

MCSA Guru provides independent, educational IT guidance. Microsoft, Windows, Windows Server, Microsoft 365, Exchange, and Microsoft Teams are trademarks of Microsoft Corporation; Docker is a trademark of Docker, Inc. MCSA Guru is not affiliated with or endorsed by Microsoft or Docker. Always test changes in a safe environment before applying them in production.

Related guides

Fixing something right now?

Jump straight into the guide library or search for the exact error or task you are dealing with.