Free · Batch · Nothing uploaded

HEIC to JPG converter

Convert iPhone HEIC & HEIF photos to JPG or PNG right in your browser. Batch-convert, pick the quality, and download everything as a ZIP. Your photos never leave your device.

Drop HEIC photos here or browse

.HEIC · .HEIF — straight from your iPhone. Your photos stay on your device.

    🔒 Conversion happens entirely on your device — your photos are never uploaded.

    Why use it

    🔒

    Private by design

    Family photos and personal pictures stay on your device — unlike sites that upload your HEIC files to a server.

    📦

    Batch & ZIP

    Convert a whole camera roll at once and download every JPG in a single ZIP file.

    🎚️

    You control quality

    Pick JPG with an adjustable quality slider for small files, or PNG for lossless results.

    Why HEIC needs converting at all

    A HEIC file is a HEIF container holding image data compressed with HEVC — the video codec also known as H.265. Apple made it the iPhone's default capture format in 2017 because it stores a comparable-looking photo in appreciably less space than JPEG. The problem is not the format's quality; it is that HEVC carries a thicket of patent licensing, which is why Windows sells the codec as a paid extension and why Chrome and Firefox decode HEIC on essentially no platform. A file your phone considers ordinary is unopenable on a colleague's laptop.

    This page works around that by carrying its own decoder. On the first conversion it loads heic-to, a wrapper around libheif compiled to WebAssembly, from a CDN — after which the browser caches it. That decoder unpacks the HEVC image data into raw pixels, and the browser's own encoder writes them back out as JPEG or PNG. Your photo is decoded and re-encoded in the tab; the only thing that crosses the network is the decoder itself, once.

    Files are handled one at a time with a pause between each, which keeps the page responsive on a large batch. Each result gets its own thumbnail and download button, and Download all packs them into a ZIP, renaming anything that would collide.

    What conversion keeps and what it discards

    CapabilityHEICJPEG outputPNG output
    Colour depthUp to 10-bit8-bit only8-bit here
    TransparencySupportedNot supportedSupported
    Multiple images in one fileYes — bursts, Live Photos, depth mapsOne image onlyOne image only
    CompressionLossy (HEVC)Lossy, re-encodedLossless from the decoded pixels
    Opens everywhereNoYesYes
    Typical file sizeSmallestLarger than the HEICMuch larger — often several times

    The row that surprises people is the last one. Converting to JPEG almost always produces a bigger file than the HEIC you started with, because HEVC's intra-frame compression is simply more efficient than JPEG's. You are trading disk space for the ability to open the picture. And if a photo carries extras — the short video of a Live Photo, a portrait-mode depth map, a burst sequence — only the primary still image survives, since neither JPEG nor PNG can hold the rest.

    Honest limitations

    Re-encoding to JPEG is a second lossy pass. The HEIC was already lossy; decoding it and compressing again with a different algorithm cannot recover detail and will shed a little more. At 90% quality the difference is invisible in normal viewing, but it is real, and it is why you should always convert from the original file rather than from a copy that has been through this once already.

    Memory is the practical ceiling on batch size. Decoding produces an uncompressed bitmap costing four bytes per pixel: a 12-megapixel iPhone photo needs roughly 49 MB while it is being processed, and a 48-megapixel one closer to 195 MB. Converted results are also held in memory until you press Clear. On a phone, work in batches of a few dozen rather than emptying an entire camera roll into the page at once.

    Do not assume metadata survives. Capture date, camera settings and GPS coordinates are stored in the HEIC's metadata, and how much of that carries into the converted file depends on the decoder. If the timestamps matter — for a photo library that sorts by capture date, or an insurance claim — convert one file first and check its properties before running a batch. If you would rather that information were not in the file you are about to share, the EXIF remover strips it deliberately and shows you what was there.

    Some files will not convert. The tool verifies each file is genuinely HEIC before decoding and reports the ones that are not, which usually means a file renamed to .heic or a partial download from a messaging app. Very old or unusual HEIF variants may also fail. And PNG output ignores the quality slider entirely — lossless compression has no quality setting.

    Choosing settings, and avoiding the problem entirely

    Pick JPEG unless you have a specific reason not to. PNG is lossless, but a photograph saved as PNG is frequently several times the size of the JPEG for no visible benefit — its efficiency is on flat colour and sharp edges, not on the continuous tone of a camera image. Reach for PNG when the picture is a screenshot, contains transparency, or is going to be edited further.

    For JPEG, the 90% default is a good archival setting: high enough that artefacts are not visible at full size, low enough to be sensible on disk. Drop to around 80% for photos going into email, chat or a web page, where the file size matters more than pixel-level fidelity. Below about 70% you start to see blocking in skies and smooth gradients, which is exactly where compression damage is most obvious.

    If you convert HEIC files regularly, the better fix is upstream: on an iPhone, Settings → Camera → Formats → Most Compatible makes the camera capture JPEG directly, at the cost of larger files on the phone. Sharing photos through AirDrop or Mail also converts them automatically in many cases, which is why some pictures arrive as JPEG and others as HEIC.

    Once converted, if the files are still too large for what you need them for, PixSqueeze compresses JPEG and PNG further with a visible before-and-after, and the resizer reduces the pixel dimensions, which saves far more than any quality setting. Both run in the browser too — the whole set is on the image tools page.

    HEIC to JPG FAQ

    What is a HEIC file?

    A HEIF container holding an image compressed with HEVC, the H.265 video codec. iPhones have captured in it by default since 2017 because it stores a photo in noticeably less space than JPEG. HEVC's patent licensing is why most browsers and Windows installations cannot open it without extra software, and why converting makes a photo universally viewable.

    Are my photos uploaded?

    No — conversion runs entirely in your browser, so your photos never leave your device. The decoder itself is downloaded from a CDN the first time you convert, then cached; your images are never part of a request.

    Can I convert many at once?

    Yes — drop multiple files, convert them all, and download them together as a ZIP. Batch size is limited by memory rather than by any rule here: each photo needs about four bytes per pixel while it is decoded, so a few dozen at a time is comfortable on a phone.

    JPG or PNG?

    JPG for photos (smallest, adjustable quality); PNG for lossless quality or transparency. For an ordinary camera photo, PNG is usually several times larger with no visible gain, so JPEG at 85–90% is the sensible default.

    Why is my JPG bigger than the HEIC it came from?

    Because HEVC compresses more efficiently than JPEG at equivalent visual quality — that efficiency was the whole reason Apple adopted the format. Converting trades file size for compatibility. Lowering the quality slider narrows the gap, and resizing the image reduces it far more than any quality setting can.

    What happens to Live Photos and portrait-mode depth?

    Only the main still image is kept. A HEIC container can hold several images plus depth information and, for a Live Photo, a paired video; JPEG and PNG each hold exactly one image, so the extras are dropped. If you want to keep them, keep the original HEIC alongside the converted copy.