Local iPhone photo converter

Convert HEIC to JPG Online for Free

Convert the primary still image in an HEIC or HEIF photo to JPEG locally. Files stay on your device and metadata is removed.

Your optimized images will appear here

  • HEIC
  • HEIF
Browser-local Multiple images

Your optimized images will appear here

How it works

  1. 1

    Select HEIC or HEIF

    Choose an Apple camera photo up to 20 MB and 25 megapixels.

  2. 2

    Decode on your device

    The browser tries native support, then lazily loads a local worker decoder if needed.

  3. 3

    Download JPEG

    The primary still is converted to an 8-bit browser-rendered JPEG with no server upload.

Why use this tool?

Private conversion

The image bytes never leave your device.

Works beyond Safari

A lazy HEIC decoder provides a fallback when native browser decoding is unavailable.

Predictable output

The result is JPEG; HEIC encoding is deliberately not offered.

Common examples

iPhone sharing

Convert an iPhone camera photo for software that accepts JPEG but not HEIC.

Web publishing

Turn the primary HEIC still into a broadly compatible image before upload.

Upload a source above to see measured original bytes, output bytes, and percentage saved for your own image.

Privacy and limits

Optimization happens in this tab. We do not upload the selected image or send its filename to analytics.

  • Only the primary still is processed; Live Photo video, bursts, depth maps, and HDR gain maps are ignored.
  • EXIF and other HEIC metadata is removed in the browser version.
  • Large inputs are limited to 20 MB and 25 megapixels to protect mobile browser memory.

Related free tools

Frequently asked questions

Is my HEIC photo uploaded?

No. Both native and fallback decoding run locally in the browser.

What happens to Live Photo video?

Only the primary still image is converted. The associated video and auxiliary images are not included.

Why are HEIC files limited?

The 20 MB and 25-megapixel limits reduce the chance of mobile browsers running out of memory while decoding.