iPhone HEIC photos to universal JPG
Image formats trade off compression, transparency, animation, and browser support. Convert HEIC → JPG converts your input to JPEG, which is the right choice when the destination accepts lossy compression for photographic content (smaller files, no transparency). HEIC is the default capture format on recent iPhones, and Apple's sharing pipeline transcodes it to JPEG when the recipient isn't on iOS — but messaging the file directly often leaves the recipient with an unrecognised attachment. JPEG is the universal fallback supported by every operating system, browser, and email client. The preset outputs JPEG at 92% quality entirely in your browser — the file is never uploaded to a conversion server, which matters when the source contains personal information like ID scans, screenshots of private documents, or proprietary design files.
| Output format | JPEG @ 92% quality |
|---|---|
| Processing | 100% in your browser — no upload |
| Cost | Free, unlimited |
This preset is a deterministic recipe — every step has fixed parameters so the result is byte-identical across runs of the same input.
The format conversion runs through canvas APIs and a WebAssembly image-encoder. Decode and re-encode happen in your browser; the source file is never uploaded.
For input formats not natively decoded by the browser (HEIC, AVIF on older browsers, TIFF), Mochi falls back to a WebAssembly decoder shipped alongside the page.
The target accepts JPEG, and JPEG compresses photographic content 5-10× smaller than PNG with no visible difference at quality 92%. PNG is the right choice only when the image has hard edges or transparency — which photo-ID, social posts, and product photos don't.
JPEG runs 1.5-2× the size of HEIC at equivalent quality, but every device opens it. The actual ratio depends on image content — photographs follow the average closely, while screenshots and line art compress differently.
No. This preset runs entirely in your browser using WebAssembly + canvas APIs — no server round-trip. You can verify this in your browser's network panel: only static asset requests, no image upload. The file never leaves your device.