Compressing a HEIC, honestly
Here’s the slightly awkward truth: HEIC is already a very efficient format. It typically stores a photo in about half the space of an equivalent JPG. So “compressing HEIC” really means re-encoding it into something with a dial you can turn.
Our in-browser HEIC encoder doesn’t have a quality slider, so we can’t promise a smaller HEIC. Instead this tool outputs JPG, WebP or AVIF, where every step of quality is under your control. The bonus: those files open in far more places than HEIC does.
Two ways to compress
Target size
Type a limit such as 500 KB or 2 MB. For each photo we search for the highest quality that fits under it, never dropping below about 55, because below that JPGs start to look blocky. If quality alone can’t get there, we shrink the dimensions just enough to fit.
Sizes use decimal units (1 MB = 1,000,000 bytes). That’s slightly stricter than the binary convention, so the result passes upload forms that use either.
Quality mode
Pick a number and every photo gets the same setting. Files vary in size depending on how much detail they contain, but they all look consistent. The default of 72 is a good balance for sharing.
Before and after, side by side
Every finished file shows its original size next to its new size, so you can see what you saved before you download anything. If a result is bigger than you hoped, switch to WebP or AVIF and compare.
| Output | Opens in | Typical size vs JPG |
|---|---|---|
| JPG | Everything | Baseline |
| WebP | Modern browsers, most apps | Smaller |
| AVIF | Recent browsers, fewer apps | Smallest |
Which page should you use?
If you already know the number on the upload form, jump straight to a preset: compress HEIC to 100 KB for ID photos and visa portals, compress HEIC to 1 MB for email and claims, or compress HEIC to 2 MB for forums and CMSs.
If the photo is going on a web page, resizing it first often beats heavy compression. A 1920 px wide photo at quality 85 looks sharper than a full 12 MP photo squeezed to quality 55.
Where the work happens
On your device. The HEIC is decoded by a WebAssembly build of libheif, re-encoded in a Web Worker, and handed back to you. GPS location is stripped by default, and date and camera details stay unless you choose otherwise.