Convert HEIC to JPG

Drop the HEIC files from your iPhone below and get JPGs that open on any computer, site or printer. JPG is already selected, and files go up to 16 MB as a guest or 32 MB with a free account. Free. No account, no app to install.

  • JPG already selected
  • Always the right way up
  • Date and location kept if you ask
Compression Level
None
No compression, only apply settings on image
Lossless
Without any visual change in the image quality
Ultra
Max compression with some quality loss
Smart
Balance between the image quality and compression
Change Format Will allow you to convert images to different extensions
Auto WEBP AVIF PNG JPG Auto tries every format your image can be saved as and gives you the smallest one
Resize Will allow you to change the width, height or scale of images
Keep EXIF Will allow you to preserve meta data in images
Maximum file size is 16 MB per image and supported formats are: PNG, JPG, JPEG, WEBP, GIF, HEIC, HEIF, TIFF, TIF
Guests get 10 images a day, 10 left today. A free account gets 40 a day.
Delete this image?
The image and its optimized copy will be removed from storage. This cannot be undone.

Rename this image
Choose the name the optimized image downloads with. Its format stays the same.

Uploaded as

Rename the selected images
Each image gets this name and a number, counted in the order they were uploaded. Their formats stay the same.

Share this image
Choose the compression level that suits your images
Level What it promises What happens Pick it when
Lossless
Not one pixel changes in a JPEG, PNG or GIF The file is repacked, never re-encoded. JPEGs get an optimised Huffman table and progressive scan, PNGs a tighter deflate pass, GIFs a lossless gifsicle run. A lossy WebP has no repack step, so it is re-encoded at the highest quality the level allows. A sideways phone JPEG is rotated losslessly on the way through and keeps its colour profile. The one exception to the promise is a PNG or WebP tagged with a wide-gamut profile such as Display P3: its colours are converted to sRGB, so the values change but the picture doesn't. Logos, line art, anything you'll edit again, or when the file is evidence.
Smart
No visible change, targets 40 dB PSNR and a perceptual score of 70 A quality search runs per image and stops at the lowest quality that still clears the PSNR target. That answer is then scored on the SSIMULACRA 2 scale, because an average over every pixel lets a mostly flat picture through at a quality its detail doesn't deserve, and when it falls under 70 the search moves back up until it doesn't. Photos and graphics end up at different qualities because they need different ones; an image that cannot reach the targets inside the quality ceiling is encoded at the ceiling. Almost everything on a website. This is the default for a reason.
Ultra
Smallest file, targets 34 dB PSNR and a perceptual score of 50 The same two-stage search with lower targets. Fine texture softens a little; edges and text stay sharp. Thumbnails, backgrounds, email images, anything shown small or blurred anyway.
None
No compression at all Only the resize, conversion or metadata setting you chose is applied. An untouched upload comes back byte for byte. You only wanted to resize or convert, and quality is someone else's decision.

Measured, not estimated

What happens to the file size

HEIC is a more efficient format than JPG, so a faithful JPG copy of a HEIC is often the bigger file. How much depends on the level you pick.

Sample Original Smart Ultra
Portrait, HEIC from libheif 1800 by 1200 132 KB HEIC 104 KB 21.2% smaller 67 KB 49.2% smaller

One sample: our showcase portrait, 1800 by 1200, encoded as HEIC by libheif at its default quality. An iPhone's own HEICs are larger and more detailed, so expect different numbers, in the same direction.

Why convert

HEIC is a fine format that almost nothing opens

iPhones have saved photos as HEIC since iOS 11. It's a good format: about half the size of a JPG at the same quality. The trouble starts when the photo leaves the phone. Windows needs extra codecs installed, plenty of web forms refuse it, and Chrome and Firefox won't display one.

So the job here isn't saving space. It's getting a file that works. Iminify decodes the HEIC, turns it upright and writes a JPG with jpegli, the JPEG encoder from the JPEG XL project. At Smart it searches for the lowest JPG quality that still matches your photo; the ceiling for a HEIC source is quality 90, because above that a JPG spends its bytes copying the HEIC's own artefacts.

If the photo is going on a website, skip JPG. Convert the HEIC to WebP or AVIF from the full tool and you keep most of HEIC's size advantage in a format browsers can show.

What survives

What a HEIC keeps on its way to JPG

  • Orientation

    The photo comes out upright whichever way you held the phone, and the orientation tag is reset so no viewer turns it a second time.

  • Date, camera and location, if you ask

    Metadata is stripped by default, GPS included. Turn on Keep EXIF to carry it into the JPG.

  • Colours

    iPhones shoot in Display P3. The colours are converted to sRGB, so the JPG looks right in software that ignores colour profiles.

  • Live Photos, bursts and depth

    A HEIC can hold several images. Only the main photo is converted; the motion clip of a Live Photo is a separate video file and never part of the HEIC.

When not to

When to keep the HEIC

  • The photo is staying inside Apple's apps. Photos, Messages and AirDrop all handle HEIC, and it's the smaller file.
  • It's your only copy. Keep the HEIC as the original and convert a copy; a JPG made from it has been through two lossy encodes.
  • You'd rather stop the problem at the source. Settings, Camera, Formats, Most Compatible makes the iPhone shoot JPG from then on.

How to

HEIC to JPG in three steps

  1. 1

    Drop your HEIC files

    From a Mac, a PC or straight from the iPhone's browser. A whole batch is fine.

  2. 2

    Decide on metadata

    Leave Keep EXIF off to remove the location before sharing, or turn it on to keep the capture date.

  3. 3

    Download your JPGs

    One at a time, or every result in one zip.

Questions

HEIC to JPG questions

From the blog

What we've measured so far

We run the encoders on real photos and screenshots and publish the numbers: when WebP beats AVIF, what quality 80 means in each encoder, and how many kilobytes an image on a web page should weigh.

All posts
Bar chart of the resized files WordPress 7.1.2 made on the server and in Chrome: 691 and 640 KB for a 1800 px photo, 1,942 and 2,193 KB for its 6000 px version, 553 and 651 KB for a PNG screenshot.

Does WordPress compress images? What WordPress 7.1 does to your upload

We uploaded the same photo to a fresh WordPress 7.1.2 site twice, both times from Chrome. The file we sent, 832 KB, was stored byte for byte both times. From it WordPress made five resized copies at JPEG quality 82. Through Media > Add Media File those copies came to 691 KB. Through the Upload button on an Image block they came to 640 KB, because in 7.1 that button has the browser make the copies instead of the server. So does WordPress compress images automatically? Not the file you upload, which is stored byte for byte. It re-encodes the resized copies it makes, the JPEG ones at quality 82. In our test a phone and a standard laptop screen downloaded copies of this photo, but a 2x laptop screen got the untouched original, so compressing it is still your job. Since 7.1, which program makes the copies depends on the button you press and the browser you press it in.

8 min read
ComfyUI's Flux Dev example render of a fox-eared girl in a maid dress holding a cake, captioned: 1,215,064-byte PNG to 125,684-byte WebP, and the workflow still loads in ComfyUI.

ComfyUI PNG to JPG loses the workflow. WebP and AVIF can keep it

ComfyUI's Flux Dev example image is a PNG of 1,215,064 bytes, and the two text chunks holding its prompt and workflow take 12,240 of them. The rest is 1024x1024 pixels stored without loss. Across the 92 PNGs in ComfyUI's examples repository that carry a workflow, the text was no more than 3.32 percent of any file, with a median of 0.62 percent. Converting to JPG shrinks the file, but ComfyUI's own loader can't read a workflow back out of a JPG. A WebP or AVIF can keep it, at about a tenth of the size. We took the text-to-image examples of ten models from ComfyUI's examples repository, made smaller copies several ways, and dropped the copies back onto ComfyUI 0.37.0's canvas to see which ones still held the workflow.

6 min read
Bar chart of mozex.dev's image bytes at Lighthouse's phone size: 63.7 KB in 2 files before scrolling, 653.5 KB in 9 files after, and a worked-out 107.1 KB with its own images resized and re-encoded for the phone and the hidden one skipped.

How to find large images on a website: three tools gave us three different lists

On 22 September 2026 we loaded mozex.dev, the site of Mozex Labs, which runs Iminify, at the phone size Lighthouse emulates, and listed its images three ways: Chrome's network log, Lighthouse and a console snippet. Before any scrolling, Chrome had fetched 2 image files, 63.7 KB. After we scrolled to the bottom, it had fetched 9 files, 653.5 KB. Lighthouse's phone runs requested 7 and never the two heaviest, 340.8 KB between them. The browser's own timing data put one image at 0 bytes. So the list you can trust comes from Chrome's Network panel, taken after a scroll. Every method here works on one page at a time, so run it on the pages you care about most.

8 min read

Get JPGs out of your iPhone photos

JPG is already selected. Drop your HEIC files and download files that open anywhere.