Convert HEIC to PNG — lossless, no upload

PNG is a lossless format: every pixel that libheif decodes from your HEIC is written exactly as-is into the output file, with no further detail loss. Convert your iPhone photos to PNG for editing in older Photoshop versions, GIMP, Krita, or any design tool that refuses HEIC — entirely inside your browser, no upload required.

Convert to PNG →

Why convert HEIC to PNG?

Apple switched iPhones to HEIC as the default camera format in iOS 11, and within the Apple ecosystem HEIC is invisible. Step outside it and problems appear immediately. Older versions of Photoshop (pre-CC 2020) do not open HEIC at all. GIMP and Krita, the two most popular open-source image editors, have partial or no HEIC support on Windows. Most design applications — Figma on desktop, Affinity Designer v1, Canva's desktop export pipeline — treat HEIC as an unknown type. PNG is the other universal format. Unlike JPG, PNG is lossless: it stores the exact pixel values without any re-encoding artefacts. That makes PNG the right output when you intend to edit the photo further — re-touching skin, compositing layers, masking — because each subsequent save does not degrade the image. Print shops universally accept PNG as a high-fidelity input. Archivists use PNG when they want a pixel-perfect copy of an image for later editing, even if HEIC is the storage format they keep long-term.

What you lose and what you gain

PNG is always lossless, but that does not mean the conversion magically upgrades your image. Most iPhone HEICs are lossy — the camera applies HEVC compression at roughly a quality-60 equivalent, discarding some fine detail to keep file sizes manageable. When you convert that lossy HEIC to PNG, the PNG faithfully captures every pixel that survived the HEIC encode. It will not recover detail the HEVC codec discarded. What PNG guarantees is that no further detail is lost at the conversion step itself. Every subsequent open-edit-save cycle in a PNG-aware tool is also lossless, which is why photographers prefer PNG for an editing workflow. The tradeoff is file size: a 12MP iPhone HEIC at 2.4 MB becomes roughly 20–25 MB as an uncompressed PNG, and around 16–18 MB with oxiPNG level-6 compression. At 48MP, the PNG can reach 85 MB or more. If final file size matters for delivery, consider JPG instead — but for editing fidelity, PNG is the right choice.

How to convert HEIC to PNG

The entire conversion runs inside your browser using WebAssembly. No server receives your photo. No account is needed. Works offline once the page has loaded once — the WebAssembly decoders are cached by the service worker:

  1. Get the HEIC file onto your computer. On a Mac, use AirDrop, the iCloud Drive desktop app, or connect your iPhone via USB and use Image Capture. On Windows, connect via USB and copy HEIC files from the DCIM folder in Windows Explorer. Alternatively, email the photo to yourself from the iOS Files app and save the .heic attachment.
  2. Click "Convert to PNG →" at the top of this page, or drag your HEIC file onto the drop zone on the homepage. Both routes open the same in-browser conversion tool.
  3. ConvertMyPic decodes the HEIC using libheif (github.com/strukturag/libheif), the open-source HEIC/HEIF decoder compiled to WebAssembly via Emscripten. libheif reads the HEVC-compressed bitstream inside the HEIC container and produces a full-resolution uncompressed RGBA image in memory. Your photo never leaves the device at this step.
  4. The uncompressed image is passed to oxiPNG (github.com/shssoichiro/oxipng), a high-performance lossless PNG encoder and optimizer compiled to WebAssembly. oxiPNG applies DEFLATE compression with optimised filter heuristics to produce the smallest possible PNG that is still a perfect, pixel-exact representation of the decoded image. Both libheif and oxiPNG run inside a Web Worker so the browser UI stays fully responsive during conversion.
  5. Click the download button. The PNG saves to your Downloads folder with the original filename and the .png extension — photo.heic becomes photo.png. Your original HEIC file is untouched. To verify that nothing was uploaded, open DevTools → Network while converting: you will see zero outbound data requests carrying image data.

File size comparison: HEIC source vs PNG output

Measurements illustrating how PNG file sizes scale with source resolution. HEIC sources are camera defaults. PNG outputs use oxiPNG at levels 2 and 6.

SourceFormatFile sizeNotes
iPhone 12MP photoHEIC (lossy, q60-equivalent)~2.4 MBOriginal camera output — compact but lossy
iPhone 12MP photoPNG (uncompressed)~22 MBPixel-perfect; no DEFLATE optimisation
iPhone 12MP photoPNG via oxiPNG level 2~18 MBFast compression; good for quick workflows
iPhone 12MP photoPNG via oxiPNG level 6~16 MBDefault — best size/speed balance
iPhone 48MP photoHEIC (lossy, q60-equivalent)~10 MBLarge sensor; PNG output is very large — see note below
iPhone 48MP photoPNG via oxiPNG level 6~85 MBStorage warning: 48MP PNG is large; consider JPG if size matters

When to convert, and when to keep HEIC

Convert HEIC to PNG when your editing software does not support HEIC. Photoshop versions before CC 2020 will not open HEIC at all — PNG is the reliable intermediate format for getting iPhone photos into a pre-CC workflow. GIMP and Krita on Windows have unreliable HEIC plugins; exporting as PNG before importing eliminates the dependency. Affinity Designer v1 and most vector/layout tools accept PNG but not HEIC. Convert when delivering to a print shop or a pre-press workflow: PNG is universally accepted as a high-fidelity lossless input, and most RIP software handles it without issue. Keep HEIC when archiving photos in Apple Photos — the library handles HEIC natively, and converting to PNG would multiply storage use by 7–10x for no quality benefit if you never edit outside Apple's ecosystem. Keep HEIC when editing in Lightroom, Capture One, or Affinity Photo on a Mac, all of which support HEIC directly and manage your original files non-destructively. Keep HEIC when sharing within the Apple ecosystem — iPhone to Mac via AirDrop, iPad to iPhone via Messages — where compatibility is never a problem. A practical decision rule: if your destination tool opens HEIC, keep it. If it does not, and you plan to edit or layer the image, use PNG. If you plan to publish or send (and do not need further editing), JPG gives you smaller files with no visible quality difference at normal viewing sizes.

Under the hood: which codecs are used

HEIC decoding uses libheif, the open-source HEIC and HEIF library maintained by Struktur AG at github.com/strukturag/libheif. libheif implements the ISO 23008-12 HEIF container specification and uses an underlying HEVC (H.265) codec to decompress the image data. The version used here is compiled to WebAssembly via libheif-js, so no native binary is installed on your machine and the decoder executes entirely inside a sandboxed Web Worker in the browser. PNG encoding and optimisation uses oxiPNG, the Rust-based lossless PNG optimizer and encoder at github.com/shssoichiro/oxipng. oxiPNG applies DEFLATE with advanced filter selection heuristics — trying multiple filter strategies per row and keeping the one that compresses best — to produce PNGs that are substantially smaller than a naive encoder while remaining a perfect lossless representation of the source pixels. Both codecs run in a Web Worker. The decode → encode pipeline executes entirely locally, and no network request carries image data at any point. You can confirm this by opening DevTools → Network during a conversion.

FAQ

Will the PNG be exactly the same quality as the HEIC?

PNG is lossless, so every pixel that libheif decodes from the HEIC is preserved exactly in the PNG output — no further detail is lost at the conversion step. However, most iPhone HEICs are already lossy: the camera applies HEVC compression when saving the photo. The PNG cannot recover detail the HEVC codec discarded during the original capture. What you get is a lossless copy of what the HEIC stored, which is often what you want for editing — the conversion itself introduces zero additional degradation.

Why is the PNG so much larger than the HEIC?

HEIC uses HEVC (H.265), a sophisticated video-derived compression algorithm that achieves very high ratios by discarding perceptually redundant detail. PNG uses DEFLATE, a lossless algorithm that can only remove repeated patterns — it cannot throw away image data. A 12MP iPhone photo that is 2.4 MB as a HEIC typically becomes 16–22 MB as a PNG. This is expected and normal. The PNG is larger because it is storing more information per pixel, not because the conversion is inefficient. If file size matters more than losslessness, convert to JPG instead.

Does the alpha channel survive the conversion?

HEIC files from iPhone cameras do not use an alpha channel — the camera only writes opaque RGB. If you have a HEIC that was programmatically generated with transparency (rare, but possible from image editing APIs), libheif decodes the alpha channel and oxiPNG writes it into a standard PNG RGBA file. Transparency is preserved end-to-end. For typical iPhone photos, the PNG output is RGB without alpha, which keeps the file slightly smaller.

Will GPS and EXIF data survive the conversion?

Yes. The converter copies the full EXIF block from the HEIC into the output PNG as tEXt/zTXt or eXIf ancillary chunks — GPS coordinates, timestamp, camera model, aperture, shutter speed, and ISO all carry over. If you want to strip location data before sharing a photo taken at home or a sensitive location, the advanced options on /convert include an EXIF-strip toggle. Stripping EXIF also reduces the output file size by a small amount.

Does this work for Live Photos?

Only the still image component converts. A Live Photo is stored as two files: a still HEIC and a short MOV video clip that plays when you press and hold in the Photos app. When you export the HEIC from a Live Photo and convert it here, you get a static PNG of the still frame. The motion video component is not included and cannot be embedded in a PNG — PNG is a single-frame format. Your original Live Photo remains in the Photos library untouched.

My 48MP iPhone photo will become an 85 MB PNG — is that right?

Yes. A 48MP photo is 8064×6048 pixels. At 3 bytes per pixel (RGB), the raw uncompressed data is around 140 MB. oxiPNG compresses that down to roughly 80–90 MB, which is still very large. If you need the image for web use or email, convert to JPG at quality 90 instead — you will get 18–28 MB with no visible quality loss at normal viewing sizes. Use PNG only when you genuinely need a lossless editing copy for a print or retouching workflow.

Can older versions of Photoshop open HEIC directly?

No. Photoshop CC 2020 (version 21.0, released October 2019) was the first version to support HEIC natively via the Camera Raw plugin. Any version before CC 2020 — CS6, CC 2017, CC 2018, CC 2019 — will show an error when you try to open a HEIC file. Converting to PNG first lets those older versions open and edit the photo without any plugin installation. PNG has been supported in Photoshop since version 5.0 in 1998.

Do my photos get uploaded to a server?

No. The conversion runs entirely inside your browser using WebAssembly. Open your browser's DevTools (F12 on Windows, Cmd+Option+I on Mac), click the Network tab, and watch during a conversion — you will see zero outbound requests carrying image data. ConvertMyPic does not operate a server. The libheif decoder and oxiPNG encoder are WASM binaries that run on your CPU inside a Web Worker. Your HEIC photo never leaves your device.

Why is this free?

Because we operate no servers. The WASM modules for libheif and oxiPNG are served once from a CDN and cached by the service worker — after the first visit, even the module loads are local. All compute runs on your CPU. Hosting cost is effectively zero, so there is nothing to charge for. No account, no upload limits, no watermarks.

Can I batch-convert multiple HEIC files to PNG?

The current flow converts one file at a time. For a small set, open /convert in multiple browser tabs — each tab runs an independent WebAssembly instance with no interference between them. For large batches on a Mac, the sips command-line tool can convert a folder of HEICs to PNG in one command: sips -s format png *.heic --out output_folder/. True drag-and-drop batch conversion with a progress queue is on the ConvertMyPic roadmap.