How to Convert HEIC to JPG on Windows
Updated September 2026 - 9 min read
Quick Answer
The fastest way: open our free HEIC converter, drag HEIC files, and download JPGs - no software to install.
Convert HEIC on WindowsMethod 1: Online Converter (Recommended)
- Open ConvertHEIC.org in Chrome, Edge, or Firefox
- Drag and drop HEIC files onto the upload area
- Use Batch Convert for multiple files
- Download JPGs individually or as a ZIP
No software to install. Works on Windows 10, 11, and older versions.
Method 2: HEIF Extensions from Microsoft Store
- Open Microsoft Store
- Search for HEIF Image Extensions and install it (free)
- Install HEVC Video Extensions too if Photos still says a codec is missing; the Store may charge for it
- Reopen the HEIC file in Photos to confirm that this particular file decodes
- To convert: open in Photos - Save as - choose JPEG
Batch conversion is not supported with this method.
Method 3: Change iPhone Settings
To prevent HEIC files in the future:
- On iPhone: Settings - Camera - Formats
- Select Most Compatible
This saves future photos as JPG but does not convert existing HEIC files.
Why Windows Struggles with HEIC
HEIC is Apple's preferred photo format, while Windows support depends on installed codecs and the app opening the file. When you transfer iPhone photos to a Windows PC by USB, iCloud for Windows, a cloud drive, or email, Photos, Paint, File Explorer, and older desktop software may not all handle the file in the same way.
The technical reason is that many HEIC photos use HEVC compression inside a HEIF container. Microsoft provides HEIF Image Extensions, and its support guidance says some files also need HEVC Video Extensions. Store availability and pricing can vary by device, Windows edition, account, and region, so check the current Microsoft Store listing rather than assuming one fixed price.
Some Windows 11 computers already have the required components, while others prompt for an extension. Support also varies by the image itself and by the application opening it. Test one representative HEIC file on the computer that will actually be used before relying on native viewing for a larger batch.
Even when Photos can display an HEIC file, another editor, document tool, or upload form may still reject it. A JPG copy removes the HEIC decoder dependency for those apps while leaving the original file unchanged.
Method 4: Use Paint App
If you have the HEIF Image Extensions installed (from the Microsoft Store), Windows Paint can open HEIC files and save them as JPG when the installed decoder supports the source file. This option is available on supported Windows 10 and Windows 11 systems.
Steps:
- First, install HEIF Image Extensions from the Microsoft Store (search "HEIF Image Extensions", it is free)
- Right-click your
.heicfile in File Explorer - Select Open with > Paint
- In Paint, go to File > Save as
- Choose JPEG picture from the file type dropdown
- Give the file a name and click Save
Paint does not support batch conversion — you must repeat these steps for each file. For multiple files, use the PowerShell method or an online converter instead.
Method 5: Convert HEIC to JPG with PowerShell and WIC
PowerShell can call Windows Imaging Component through WPF to decode a HEIC file and encode a new JPG. This is a real WIC conversion, not a System.Drawing shortcut. It works only when Windows has a decoder that can open that particular HEIC file.
Before running the script
- Install Microsoft's HEIF Image Extensions. Microsoft says many HEIC photos also require HEVC Video Extensions, which may require a paid Store purchase.
- On Windows N editions, install the Media Feature Pack first if the codec extensions do not work.
- Create the destination folder before running the command. The script refuses to overwrite a JPG.
Save this as Convert-HeicToJpg.ps1
param(
[Parameter(Mandatory)][string]$InputPath,
[Parameter(Mandatory)][string]$OutputPath,
[ValidateRange(1,100)][int]$Quality = 90
)
$ErrorActionPreference = 'Stop'
Add-Type -AssemblyName PresentationCore
$src = (Resolve-Path -LiteralPath $InputPath).ProviderPath
$dst = [IO.Path]::GetFullPath($OutputPath)
if ([IO.Path]::GetExtension($dst) -notin '.jpg', '.jpeg') {
throw 'OutputPath must end in .jpg or .jpeg.'
}
if (Test-Path -LiteralPath $dst) {
throw "Refusing to overwrite: $dst"
}
if (-not [IO.Directory]::Exists([IO.Path]::GetDirectoryName($dst))) {
throw 'Output directory does not exist.'
}
$tmp = [IO.Path]::Combine(
[IO.Path]::GetDirectoryName($dst),
'.' + [IO.Path]::GetFileName($dst) + '.' + [guid]::NewGuid().ToString('N') + '.tmp'
)
$input = $null
$output = $null
try {
try {
$input = [IO.File]::Open($src, 'Open', 'Read', 'Read')
$decoder = [System.Windows.Media.Imaging.BitmapDecoder]::Create(
$input,
[System.Windows.Media.Imaging.BitmapCreateOptions]::PreservePixelFormat,
[System.Windows.Media.Imaging.BitmapCacheOption]::OnLoad
)
} catch {
throw "WIC could not decode this file. Check the HEIF/HEVC extensions or the source file. $($_.Exception.Message)"
} finally {
if ($input) { $input.Dispose(); $input = $null }
}
if ($decoder.Frames.Count -lt 1) { throw 'No decodable image frame found.' }
$source = $decoder.Frames[0]
$encoder = [System.Windows.Media.Imaging.JpegBitmapEncoder]::new()
$encoder.QualityLevel = $Quality
$encoder.Frames.Add([System.Windows.Media.Imaging.BitmapFrame]::Create($source))
$output = [IO.File]::Open($tmp, 'CreateNew', 'Write', 'None')
$encoder.Save($output)
$output.Dispose(); $output = $null
$check = [System.Windows.Media.Imaging.BitmapDecoder]::Create(
[uri]$tmp,
[System.Windows.Media.Imaging.BitmapCreateOptions]::PreservePixelFormat,
[System.Windows.Media.Imaging.BitmapCacheOption]::OnLoad
)
if ($check.Frames.Count -ne 1 -or
$check.Frames[0].PixelWidth -ne $source.PixelWidth -or
$check.Frames[0].PixelHeight -ne $source.PixelHeight) {
throw 'JPEG verification failed: frame count or dimensions differ.'
}
[IO.File]::Move($tmp, $dst)
Get-Item -LiteralPath $dst
} catch {
if (Test-Path -LiteralPath $tmp) { Remove-Item -LiteralPath $tmp -Force }
throw
} finally {
if ($output) { $output.Dispose() }
if ($input) { $input.Dispose() }
}Run it from PowerShell
.\Convert-HeicToJpg.ps1 -InputPath "C:\Photos\IMG_0001.HEIC" -OutputPath "C:\Photos\JPG\IMG_0001.jpg" -Quality 90The script loads the first decodable frame, writes to a temporary file, reopens the JPG, checks its dimensions, and only then moves it to the requested output path. It never edits the source HEIC.
Metadata note: this basic WIC script does not preserve EXIF automatically. It also converts only the first decoded frame to a standard JPG, so HEIC depth, gain-map, HDR, auxiliary-image, and multi-image data are not carried across. Keep the original HEIC as your archival copy.
Sources: Microsoft WIC HEIF codec · Microsoft HEIF/HEVC extension guidance · BitmapDecoder reference
Last checked and tested on Windows: September 2026.
Method 6: Use IrfanView or XnView
IrfanView and XnView offer batch conversion on Windows. HEIC support depends on the installed version, plug-ins, and codecs, so confirm that one sample file opens before selecting a whole folder.
Using IrfanView:
- Download and install IrfanView and its All Plugins pack from the official site
- Install the current All Plugins pack and confirm HEIC support in that release
- Open IrfanView and go to File > Batch Conversion/Rename
- In the batch dialog, browse to your folder of HEIC files
- Select all
.heicfiles using the file list - Set Output format to JPG and configure quality (85–95 recommended)
- Set an Output directory for the converted files
- Click Start Batch
Using XnView MP:
- Download and install the current XnView MP release
- Open XnView MP and navigate to your HEIC folder using the left panel
- Select all files, then go to Tools > Batch Convert
- Set Format to JPEG and choose an output folder
- Click Convert
Licensing and decoder requirements can change between releases. Check each tool's current download and license page, then convert one sample before starting a large batch.
Tips for HEIC on Windows 11
- Check the current PC first: Try opening a representative HEIC file in Photos. If it opens, test the same file in the app where you plan to use it. If Photos requests a codec, follow the Microsoft Store prompt for HEIF and, when required, HEVC support.
- Check iCloud download behavior: iCloud for Windows settings and transfer behavior can change by version. Download one photo and inspect its extension before assuming the rest will arrive as JPG.
- Separate thumbnails from decoding: A missing File Explorer thumbnail does not prove the photo is damaged. Try Photos or the WIC script and keep the original until conversion is verified.
- Avoid the "Open with Photos" trick for batch work: The Photos app in Windows 11 can open supported HEIC files and save a JPG copy, but that approach is mainly suited to individual photos. For a batch, use the browser converter or a desktop app you have tested with one file.
- Verify WSL tools before scripting: ImageMagick can process HEIC only when its build has a compatible HEIC delegate such as libheif. Check the reported formats first, then test a copy of one file before batch-converting photos under
/mnt/c/.
A practical Windows fallback
Convert HEIC to JPG on Windows when the file will not open
This guide is for Windows users who received iPhone photos and need a usable JPG without depending on a particular viewer or Store extension.
A Windows HEIC converter is the straightforward fallback when Photos, Paint, File Explorer, or another desktop app cannot decode the image. The browser can turn HEIC or HEIF files into JPG copies without installing a desktop conversion program.
When Windows HEIC conversion helps
- A downloaded iPhone photo shows no preview or fails to open in the current app.
- Word, PowerPoint, a web form, or older business software expects a JPG image.
- A managed work computer does not allow new codecs or desktop applications.
- A folder or ZIP contains many HEIC photos that need consistent JPG output.
Choose between viewing and converting
- Use native HEIC support when you only need to view files regularly on the same Windows computer.
- Convert to JPG when the photo must move between systems or meet an upload requirement.
- Start with one image to confirm the output looks right before processing a large batch.
- Keep the original HEIC files in a separate folder and download the JPG results before clearing the queue.
What browser conversion does not change
The browser converter creates new JPG files; it does not install HEIC support across Windows or change the source files. If you need native previews for every HEIC image, a supported Windows codec is a different solution. Split very large batches if the browser runs short of memory.
Can I convert HEIC to JPG on Windows without installing software?
Yes. Select HEIC, HEIF, or ZIP files in the browser, choose JPG quality, and download the converted results.
Why can one Windows app open HEIC while another cannot?
HEIC support depends on the Windows version, available codecs, and the individual application. JPG avoids that dependency for sharing.
Can Windows convert a whole HEIC batch?
Yes. The browser converter accepts multiple images or a ZIP and can package the finished JPG files into a ZIP download.
Need the file to work on Windows now?
Choose the HEIC photos that will not open and create compatible JPG copies in your browser.
Convert HEIC on Windows