Convert HEIC to JPG
HEIC is the default photo format on every iPhone since iOS 11. It produces excellent image quality at small file sizes, but the format is not widely supported outside the Apple ecosystem. This tool decodes your HEIC files and converts them to universally compatible JPEG, entirely in your browser.
Why HEIC Exists
HEIC (High Efficiency Image Coding) is a container format that uses HEVC (H.265) compression for still images. The H.265 codec was originally designed for video, where it achieves roughly 50% better compression than its predecessor H.264 at the same visual quality. Apple applied the same codec to still photos starting with the iPhone 7 and iOS 11 in 2017.
The practical result: a 12-megapixel iPhone photo that would be 4-5 MB as a JPEG takes only 2-2.5 MB as HEIC, with no visible quality difference. Over a library of thousands of photos, this cuts storage use in half. HEIC also supports features JPEG cannot, including 10-bit color depth, transparency (alpha channels), and storing multiple images in a single file (used for Live Photos and burst sequences).
The Compatibility Problem
Despite its technical advantages, HEIC has limited support outside Apple’s platforms:
- Windows: Native support was added in Windows 10 (version 1809), but only with a free codec extension from the Microsoft Store. Many corporate environments block Store downloads.
- Web browsers: No major browser renders HEIC natively. Chrome, Firefox, Safari, and Edge all require conversion before displaying the image.
- Social media and CMS platforms: Most accept JPEG, PNG, and WebP uploads. HEIC support is inconsistent. Uploading a HEIC file may silently fail or trigger an “unsupported format” error.
- Older software: Photoshop added HEIC support in CC 2020. GIMP does not support it natively. Many photo printing services reject HEIC uploads.
This is why HEIC to JPG conversion is one of the most common image processing tasks: JPG is understood by virtually every piece of software written in the last 30 years.
How This Tool Decodes HEIC
HEIC decoding in the browser relies on a WebAssembly build of the libheif library (exposed through the heic2any JavaScript wrapper). When you drop a HEIC file, the following happens:
- The file bytes are read into memory using the FileReader API
- The WebAssembly decoder parses the HEIC container and decompresses the HEVC-encoded image data into raw pixels
- The pixel data is drawn onto an HTML Canvas element
- The Canvas exports the image as JPEG using
canvas.toBlob()with your chosen quality setting
The entire pipeline runs in your browser. No network request is made, and the file bytes never leave your device.
EXIF Metadata Considerations
iPhone photos carry EXIF metadata including GPS coordinates, capture timestamp, camera settings (aperture, shutter speed, ISO), and device model. This metadata is embedded in the HEIC file.
During conversion, the Canvas-based pipeline strips EXIF data from the output JPEG. This is actually a privacy benefit if you are sharing photos online, since GPS coordinates can reveal your home address, workplace, or other sensitive locations. If you need to preserve EXIF metadata for archival or organizational purposes, a desktop tool like ImageMagick or Apple’s own export (Share > Save to Files with “Most Compatible” format) will retain it.
Quality Slider Guidance
The JPEG quality setting controls the compression ratio applied during encoding:
- 92-100%: Minimal compression. Output file is typically larger than the HEIC original. Use this for archival or when the image will undergo further editing.
- 80-92%: The sweet spot for photographs. Visually indistinguishable from the original in most photos. Files are roughly the same size as the HEIC source or slightly larger.
- 60-80%: Noticeable compression artifacts around high-contrast edges and in areas of solid color. Acceptable for web thumbnails and social media where images will be re-compressed anyway.
- Below 60%: Visible quality loss. Only appropriate for quick previews or where file size is the overriding constraint.
For most use cases, 85% is a reasonable default. It produces JPEG files close to the HEIC original in both file size and perceived quality.
When to Choose JPG vs. Other Formats
JPG is the right output format when you need maximum compatibility. Every device, browser, email client, and application handles JPEG. If you are sending photos to someone who may be on any platform, JPEG is the safe choice.
For lossless conversion where you plan to edit the image further, consider converting to PNG instead. For the smallest possible file size with modern browser support, WebP is a better target. The main Image Converter supports all of these output formats.
For encoding converted images as Base64 strings for embedding in HTML or CSS, use the Base64 Encoder.