Skip to content

HEIC/HEIF to JPEG converter

HEIC → JPG is for sharing iPhone photos with apps that do not understand HEIC, with HDR and depth-sidecar data left behind.

  • 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

  • Pixels Changed

    Our image engine decodes the HEIC image and writes an 8-bit JPEG; 10-bit HEIC tone detail is quantized.

  • HDR gain map Lost

    JPEG has no Apple HDR gain-map track, so highlights can look flatter than the Photos original.

  • EXIF and GPS Lost

    Camera model, capture time and GPS coordinates are removed from every JPG we write, so a converted phone photo can be shared without revealing where it was taken.

  • Orientation Changed

    The rotation tag is applied to the pixels before saving: a 400×300 HEIC tagged to rotate 90° came out as an upright 300×400 JPG with no orientation tag left to misread.

  • Live Photo video Lost

    Only the still HEIC image is converted; the paired MOV from a Live Photo is ignored.

  • Transparency Lost

    If a HEIC uses alpha, JPEG cannot store it; the visible result is flattened.

Sample conversions

iPhone 15 landscape photo

Input
4032×3024 HEIC, 2.1 MB, wide-gamut color, GPS coordinates, and an HDR gain map from the iPhone camera.
Output
JPG at quality 90, 3.4 MB. GPS and camera tags were removed and the gain map was gone, so bright sky highlights looked flatter.

Portrait sent to a form that rejects HEIC

Input
3024×4032 HEIC portrait with EXIF orientation and a nearby-location GPS tag.
Output
JPG opened in the legacy form. Capture time and GPS were removed and the picture was rotated upright in the pixels, so the form showed it the right way up.

Live Photo still frame

Input
A Live Photo export containing a HEIC still plus a separate short MOV video beside it.
Output
Only the still frame became JPG. The motion clip was not embedded or attached to the JPEG output.

A real HEIC/HEIF → JPEG run

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

Input · sample.heic · 49 KB

1200 × 800 px, heic

Width
1,200
Height
800
Encoding
heic

Output · sample.jpg · 39 KB

1200 × 800 px, baseline

Width
1,200
Height
800
Encoding
baseline
  • Transparency filled with #ffffff for JPG output.
  • Image metadata stripped from output.

Options and when to change them

quality
Leave at 90 for normal iPhone photos; lower it only when upload limits matter more than compression artifacts.
stripMetadata
Nothing to change: JPG output never carries EXIF or GPS, whatever this is set to. Keep the HEIC original if you need the capture data.
width
Set a width when the receiving site rejects full-resolution iPhone photos or only needs a social-preview image.
height
Set a height together with width for a fixed bounding box; otherwise preserve the original aspect ratio.

Do it yourself

ImageMagick 7

bash
magick in.heic -quality 90 out.jpg

Your ImageMagick build must include HEIC support; metadata handling can differ from our image engine.

Pillow 11 with pillow-heif

bash
from PIL import Image
import pillow_heif

pillow_heif.register_heif_opener()
Image.open("in.heic").convert("RGB").save("out.jpg", quality=90, exif=Image.open("in.heic").getexif())

The example reopens the file to pass EXIF; add your own filtering if you do not want GPS copied.

HEIC/HEIF to JPEG 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=jpg.

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=jpg" \
  -F 'options={"width":0}' \
  --output output.jpg

Options this engine accepts for HEIC/HEIF → JPEG

KeyApplies toTypeDefault
widthWriting JPEGnumber0
heightWriting JPEGnumber0
fitWriting JPEGcontain · cover · fillcontain
qualityWriting JPEGnumber90
backgroundWriting JPEGstring#ffffff
stripMetadataWriting JPEGbooleantrue
API reference

When this is the wrong conversion

  • Keep HEIC if you plan to edit the 10-bit HDR original in Apple Photos or Lightroom.
  • Use PNG or TIFF instead if the source HEIC has transparency that must remain transparent.
  • Export the Live Photo from Photos if the short video matters; HEIC → JPG only handles the still frame.

HEIC/HEIF to JPEG questions

Does HEIC → JPG keep the location data?

No. GPS coordinates, capture time and camera details are removed from the JPG, so it is safe to post. If you need the location for a photo library, keep the original HEIC alongside it.

Why can the JPG be larger than the HEIC?

HEIC compression is usually more efficient than JPEG. A quality 90 JPG can be easier to open but still take more bytes than the original iPhone file.

Will the converted JPG keep iPhone HDR?

No. The base image is converted, but the Apple HDR gain map has no place in a normal JPEG, so highlight recovery is lost.

Can I convert a Live Photo to an animated JPG?

No. JPEG is a still-image format, and this conversion ignores the separate Live Photo video component.