Skip to content

HEIC/HEIF to PNG converter

HEIC to PNG turns an iPhone-style HEIF still into a lossless PNG of the decoded image, not a container for HEIC depth or motion data.

  • Converted with Image engine · input deleted within 24 h
  • Free: 5 conversions a day · 5 MB each
  • Higher limits →

From real runs

What you get — and what changes

  • Decoded image size Kept

    The 963 byte HEIC fixture decoded to a 64×48 RGB PNG that measured 2,137 bytes in the API output.

  • Compression Changed

    HEVC picture compression is replaced by PNG filtering, which can make even a tiny photo fixture larger.

  • Orientation Changed

    Our image engine applies EXIF transpose during read, so rotation is baked into the PNG pixels rather than left as a viewer instruction.

  • 10-bit HEIC values Changed

    The tested output was 8-bit RGB PNG; HEIC HDR or 10-bit camera data should not be treated as preserved grading data.

  • Live Photo motion Lost

    Only the still HEIC image is submitted to the converter, so the paired MOV from a Live Photo has no place in the PNG.

  • Color profile metadata Changed

    The PNG writer emitted plain RGB pixels in our run; keep the HEIC original when embedded profile metadata is required.

Sample conversions

Repository HEIC fixture

Input
963 byte ISO Media HEIF still from apps/web/tests/fixtures/formats/sample.heic.
Output
2,137 byte PNG at 64×48 in RGB mode. The output was simple to inspect with our image engine and contained no HEIC container tracks.

Phone photo headed to a PNG-only editor

Input
An HEIC still where compatibility matters more than preserving the phone camera container.
Output
A PNG of the decoded still image. Edits after conversion avoid another lossy save, but the original HEIC remains the better archive.

A real HEIC/HEIF → PNG run

We converted our HEIC/HEIF sample (49 KB) with Image engine on 2026-10-20. It took 255 ms and produced a 39 KB PNG file, 21% smaller than the input. The engine raised 1 warning, listed below.

Input · sample.heic · 49 KB

1200 × 800 px, heic

Width
1,200
Height
800
Encoding
heic

Output · sample.png · 39 KB

1200 × 800 px, 8-bit, colour type 6

Width
1,200
Height
800
Encoding
8-bit, colour type 6
  • Image metadata stripped from output.

Is your file a scan?

If the HEIC is a photo of a receipt or page, HEIC to PNG only changes the image container. Use Deep Read workflows when the visible words need extraction.

Options and when to change them

width
Set width when a PNG-only destination has a pixel limit or the original camera image is too large.
height
Set height alone to keep aspect ratio, or with width when the target requires exact dimensions.
fit
Use cover for cropped square thumbnails and contain when padding is better than losing photo edges.

Do it yourself

Pillow 11 with pillow-heif

bash
from PIL import Image, ImageOps
import pillow_heif

pillow_heif.register_heif_opener()
im = ImageOps.exif_transpose(Image.open("photo.heic"))
im.save("photo.png", optimize=True)

This writes the decoded still image; it does not export a Live Photo movie or HEIC depth sidecar.

HEIC/HEIF to PNG by API or MCP

The HTTP API and the MCP server run the exact engine this page uses (Image engine); the response carries the same warnings the web converter shows. Check support first with GET /api/v1/pairs?from=heic&to=png.

curl
curl -X POST https://filetypeconverters.com/api/v1/convert \
  -H "Authorization: Bearer $FTC_API_KEY" \
  -F "file=@input.heic" -F "from=heic" -F "to=png" \
  -F 'options={"width":0}' \
  --output output.png

Options this engine accepts for HEIC/HEIF → PNG

KeyApplies toTypeDefault
widthWriting PNGnumber0
heightWriting PNGnumber0
fitWriting PNGcontain · cover · fillcontain
qualityWriting PNGnumber90
backgroundWriting PNGstring#ffffff
stripMetadataWriting PNGbooleantrue
API reference

When this is the wrong conversion

  • Use /convert/heic-to-webp when the output is for a web page and smaller delivery bytes matter.
  • Use /convert/heic-to-jpg when a legacy photo form rejects PNG but accepts JPEG.
  • Keep HEIC for camera-roll archiving when HDR, edits, and Apple photo metadata still matter.

HEIC/HEIF to PNG questions

Why is my PNG larger than the HEIC?

HEIC uses efficient HEVC compression. PNG stores the decoded pixels losslessly, so our 963 byte HEIC fixture grew to 2,137 bytes.

Does HEIC to PNG keep Live Photo video?

No. The API receives one HEIC still image. The separate Live Photo movie is not embedded in a PNG output.

Will HEIC orientation be correct after conversion?

The reader applies EXIF transpose before saving. That means the PNG pixels are already rotated for normal viewing.