Drop HEIC files here or click to select

HEIC and HEIF files — drag & drop or click to select

How to convert HEIC to JPG

  1. Drop your HEIC files from iPhone onto the converter above — or click to browse and select multiple files at once.
  2. Click Convert on a single file, or Convert all to process the entire batch in one go.
  3. Download each JPG individually, or click Download all to save everything as a single ZIP archive.
  4. Note: on Chrome and Firefox the first conversion takes a few extra seconds while the HEIC decoder loads. Subsequent conversions in the same session are instant.

Your iPhone photos never leave your device

HEIC files are converted entirely in your browser — no file is transmitted to any server. The conversion uses the browser's Canvas API (Safari) or a WebAssembly decoder (Chrome, Firefox) that runs locally. Once the page is loaded, the tool works even without an internet connection.

This matters when converting personal photos, ID documents, medical images, or confidential screenshots that arrive as HEIC from an iPhone. There is no account, no temporary cloud storage, and no retention of your files at any step.

How HEIC → JPG conversion works in your browser
// Safari uses the native OS HEIC decoder via createImageBitmap
// Chrome/Firefox lazy-load a WebAssembly build of libheif

async function convertHeicToJpg(file) {
  try {
    // Safari: OS-native HEIC decode, zero library cost
    const bitmap = await createImageBitmap(file)
    const canvas = document.createElement('canvas')
    canvas.width = bitmap.width
    canvas.height = bitmap.height
    const ctx = canvas.getContext('2d')
    ctx.fillStyle = '#ffffff'   // HEIC may have transparency; fill white for JPG
    ctx.fillRect(0, 0, canvas.width, canvas.height)
    ctx.drawImage(bitmap, 0, 0)
    bitmap.close()
    return canvas.toBlob(/* resolve */, 'image/jpeg', 0.8)
  } catch {
    // Chrome/Firefox: WebAssembly decoder, lazy-loaded on first use
    const { heicTo } = await import('heic-to')
    return heicTo({ blob: file, type: 'image/jpeg', quality: 0.8 })
  }
}

Why iPhone photos are HEIC — and why you need JPG

Apple switched iPhones to HEIC (High Efficiency Image Container) by default with iOS 11 in 2017. HEIC uses the HEVC codec and stores the same photo at roughly half the file size of JPG — a full-resolution iPhone photo is typically 2–4 MB as HEIC versus 5–8 MB as JPG.

The problem is compatibility. Windows 10 and 11 require a paid codec from the Microsoft Store to open HEIC natively. Most web platforms, email clients, CMS tools, and image editors still default to JPG. Stock photo platforms like Shutterstock and Adobe Stock do not accept HEIC. Instagram, Facebook, and Twitter convert HEIC automatically on upload but at unpredictable quality settings.

Converting to JPG gives you universal compatibility — every device, every platform, every app that was built in the last 30 years opens JPG without any special software or codec.

HEIC vs JPG — format comparison

FeatureHEICJPG
CompressionHEVC — 50% smaller than JPGLossy, industry standard
File size (12MP photo)2–4 MB4–8 MB
TransparencySupportedNone — fills white on convert
Windows supportRequires paid codecNative everywhere
Browser supportSafari only (natively)All browsers
Web upload supportLimited — platform-dependentUniversal
Editing in PhotoshopCS 2023+ onlyAll versions
Best foriPhone camera storageSharing, web, print, email

When to convert HEIC to JPG

Convert to JPG when:

  • Sharing on Windows — recipients without the Microsoft HEIC codec cannot open the file
  • Uploading to websites — stock platforms, CMS, e-commerce, and social media all prefer JPG
  • Sending by email — many email clients show HEIC as an attachment instead of an inline image
  • Printing at a photo lab — most printing services accept JPG, not HEIC
  • Editing in older software — Photoshop before 2023, Lightroom Classic, and GIMP need JPG
  • Embedding in Word or PowerPoint — Office on Windows does not render HEIC inline

Keep HEIC when:

  • Staying in the Apple ecosystem — Mac, iPhone, iPad, and iCloud all handle HEIC natively
  • Saving storage — HEIC photos are 40–50% smaller; keep originals to save space on disk or cloud
  • You only need it for yourself — if you will only view the photo on your own Apple devices, HEIC is fine

How the HEIC format works — technical overview

HEIC is a container format defined by the ISO Base Media File Format (ISOBMFF, ISO/IEC 14496-12). Image data is stored as HEVC (H.265) tiles inside the container — the same codec used for 4K video streaming. HEVC's advanced entropy coding (CABAC) and inter-prediction achieve roughly 2× the compression efficiency of JPEG's DCT at the same visual quality.

Because HEVC requires patent licensing from multiple patent pools (MPEG LA, HEVC Advance, Velos Media), browser vendors have been slow to implement native HEIC decoding. Safari can decode HEIC by delegating to the macOS and iOS system codecs, which already handle HEVC for video. Chrome and Firefox do not have a licensed HEVC decoder, so they rely on WebAssembly builds of libheif — an open-source library that includes a software HEVC decoder (libde265). This converter lazy-loads that library only when a HEIC file is detected, so non-HEIC pages are unaffected.

HEIC container structure (simplified)
// HEIC is an ISOBMFF container — same as MP4 video
// Box types relevant to a still HEIC image:

ftyp  — file type box: identifies this as HEIC ('heic' brand)
mdat  — media data box: raw HEVC-encoded image data (tiles)
meta  — metadata box
  ├─ hdlr  — handler: 'pict' (picture handler)
  ├─ pitm  — primary item: index of the main image
  ├─ iinf  — item info: list of all image items (main + thumbnails)
  ├─ iloc  — item location: byte offsets into mdat for each item
  └─ iprp  — item properties (width, height, colour info, rotation)

// A 12MP iPhone photo stores the main image as HEVC tiles
// plus a JPEG thumbnail, depth map, and gain map in the same file

Frequently Asked Questions

How do I convert HEIC to JPG on Windows for free?
Drop your HEIC files onto this converter, click "Convert all", then download the JPGs. Everything runs in your browser — no app installation, no Microsoft Store codec purchase, no upload. Works on Windows 10 and Windows 11 in Chrome or Edge.
How do I convert HEIC to JPG on a Mac?
Open this page in any browser on your Mac, drop your HEIC files, and download the JPGs. On Safari, conversion is native and instant. On Chrome or Firefox, a small WebAssembly decoder loads on first use and the conversion takes a few seconds.
Why does my iPhone save photos as HEIC instead of JPG?
Apple switched to HEIC by default with iOS 11 (2017) because HEIC photos are roughly 50% smaller than JPG at the same quality — preserving iPhone storage. You can disable this in Settings → Camera → Formats → Most Compatible to shoot in JPG directly, but storage usage will increase significantly.
Will converting HEIC to JPG reduce image quality?
The converter uses quality 0.80 (80%), which gives a good balance between file size and visual quality for standard photography. There will be a small amount of re-compression loss since JPG is a lossy format — but at quality 0.80, the difference is not visible on a phone or monitor at normal viewing sizes.
Why does the HEIC file take a few seconds to convert on Chrome?
Chrome and Firefox do not support HEIC natively, so the converter lazy-loads a WebAssembly build of the libheif decoder (~1.2 MB) on first use. After the initial load, subsequent HEIC conversions in the same session are instant. On Safari, there is no delay because HEIC is decoded natively by macOS or iOS.
Can I convert multiple HEIC files at once?
Yes. Drop as many HEIC files as you need in one go, then click "Convert all" to process the batch, and "Download all" to get a single ZIP archive with all JPG files. There is no file count limit per session.
Does HEIC support transparency? What happens when converting to JPG?
HEIC supports an alpha channel for transparency. JPG does not support transparency. When a transparent HEIC is converted to JPG, transparent areas are filled with white. If you need to preserve transparency, convert to PNG instead.
Can I open the converted JPG on any device?
Yes. JPG is the most universally supported image format — it opens on Windows, Mac, Linux, Android, iPhone, printers, cameras, and every web browser without any special software or codec.
How do I send iPhone photos as JPG instead of HEIC?
On iPhone: go to Settings → Photos → scroll to "Transfer to Mac or PC" → select "Automatic". iOS then converts HEIC to JPG automatically when you AirDrop or cable-transfer photos to a non-Apple device. Alternatively, convert the HEIC files here after the transfer.
What if my HEIC file contains a depth map or portrait mode data?
The converter extracts the main visible image layer (the standard photo). Depth maps, portrait mode bokeh data, and HDR gain maps stored in the HEIC container are not transferred to the JPG — JPG cannot store this auxiliary data. The result is a standard, fully viewable photograph.
Can I convert multiple files at once?
Yes. Drop as many files as you need in one go and click "Convert all" to process everything at once. When done, click "Download all" to get a single ZIP archive containing all converted files.
Are my files uploaded to a server?
No. All conversion happens directly in your browser using the Canvas API. Your files never leave your device — no uploads, no server processing, 100% private. This also means the tool works without an internet connection once the page has loaded.