What is HEIC?
HEIC (High Efficiency Image Container) is the file format Apple uses by default for photos taken on iPhones and iPads running iOS 11 and later. It's based on the HEIF standard and stores images encoded with HEVC (H.265), which delivers roughly half the file size of an equivalent JPEG at the same visual quality. A typical iPhone photo is a few megabytes as HEIC versus several megabytes as JPEG.
HEIC isn't a single image format β it's a container. A HEIC file can hold a single still image, a sequence of images (like a short animation), or multiple images with different encodings (for example a depth map alongside the main photo). This flexibility is why HEIC files sometimes behave unexpectedly in tools that assume "one file = one image."
What is HEIF?
HEIF (High Efficiency Image File Format) is the ISO standard container that HEIC is built on. The two names are often used interchangeably, but technically:
- HEIF is the general container format (ISO/IEC 23008-12).
- HEIC is HEIF with HEVC-compressed image data (the ".heic" extension).
- HEIF can also contain images compressed with other codecs (e.g. AV1 in AVIF).
For practical purposes: if a file is from an iPhone, it's almost always HEIC. If it's from a different camera or tool, it might be HEIF with a different codec. This tool accepts both and reports an error if the specific variant isn't supported by the decoder.
What is JPG / JPEG?
JPEG (Joint Photographic Experts Group) is the most widely supported lossy image format in the world. Every browser, operating system, photo editor, CMS, and email client can open a JPEG. It uses a compression scheme that discards some visual information β typically information humans are less likely to notice β in exchange for much smaller file sizes than lossless formats like PNG.
The "JPG" spelling is a legacy of early Windows's three-character file extension limit. JPG and JPEG are the same format.
Why convert HEIC to JPG?
HEIC's compactness is great for phone storage, but it's a compatibility problem everywhere else:
- Older browsers can't decode HEIC. A
<img src="photo.heic">shows nothing in Safari pre-17, Firefox, or older Chrome. - Windows doesn't open HEIC files by default in many configurations.
- CMS platforms β WordPress, Drupal, many e-commerce back-ends β reject or fail to process HEIC uploads.
- Email clients often display HEIC as a broken attachment.
- Social platforms and messaging apps have inconsistent HEIC support.
- Print workflows and older design tools expect JPEG or TIFF.
Converting to JPG solves all of these at once. The trade-off is a lossy re-encode (see below) and a larger file, but for most use cases β sharing, uploading, publishing β JPG's universal compatibility is worth it.
HEIC vs JPG
- Compression: HEIC uses HEVC (better compression at equal quality); JPG uses the older JPEG algorithm (larger files at equal quality).
- Transparency: HEIC supports alpha channels; JPG does not. Transparent areas are flattened onto a background (white in this tool).
- Metadata: Both can carry EXIF, but this tool does not copy EXIF from HEIC to JPG β a privacy default.
- Compatibility: HEIC is limited; JPG is universal.
- Animations: HEIC can hold image sequences; JPG is single-frame only.
How HEIC to JPG conversion works
The conversion pipeline is:
- Read the file into memory as an ArrayBuffer (nothing is uploaded).
- Decode the HEIC using a WebAssembly build of libheif. This produces raw pixel data (RGBA).
- Apply orientation β HEIC files often carry a rotation flag in metadata; the decoder provides the correct orientation and the pixels are rotated so the output appears upright.
- Draw to a canvas at the original resolution. Transparent pixels are flattened onto white because JPEG has no alpha channel.
- Encode as JPEG using
canvas.toBlob('image/jpeg', quality). The quality slider value (10β100) is passed directly to the encoder as 0.1β1.0. - Create a Blob with MIME type
image/jpegand offer it for download.
Every step runs in your browser tab. Nothing is sent to any server at any point.
JPG quality and compression
The quality slider controls the JPEG encoder's target quality. In practice:
- 60β70 β small files, visible artifacts on close inspection, fine for thumbnails.
- 75β85 β balanced; good for most web images.
- 85β92 β high quality; visually close to the source for most content.
- 95β100 β near-lossless; larger files, diminishing visible improvement.
The exact relationship between quality value and file size depends on the image content. A photo of a clear blue sky compresses very differently from a photo of a forest. The tool shows both the output file size and the percentage change vs the original HEIC so you can see the effect.
Does converting HEIC to JPG reduce quality?
Yes β HEIC to JPG is inherently a lossy re-encode. The HEIC's HEVC-compressed data is first decoded to raw pixels, then re-compressed with the JPEG algorithm, which introduces a small amount of additional loss. In practice, at quality 90 or above, most viewers will not notice a difference for photographs. At quality 70 or below, artifacts become visible, especially around fine detail and text.
The tool does not claim the JPG is pixel-identical to the HEIC. It is visually close at high quality settings, and the quality slider is there so you can trade fidelity for file size on a per-image basis.
HEIC metadata and privacy
HEIC files from iPhones often contain:
- EXIF data β camera model, lens, ISO, shutter speed, etc.
- GPS coordinates β where the photo was taken, precise to a few meters.
- Timestamps β date and time of capture.
- Orientation flags β rotation to display the photo correctly.
GPS data is the most sensitive. Sharing a HEIC with embedded GPS is effectively sharing where you were at the time. This tool does not copy EXIF or GPS metadata to the JPG output β only orientation is applied (to rotate the image correctly), and the resulting JPG is metadata-free apart from any defaults the browser encoder adds. If you need to preserve EXIF, use a dedicated tool; this tool prioritizes privacy by default.
HEIC image orientation
HEIC files can contain a rotation value (0Β°, 90Β°, 180Β°, 270Β°) that tells viewers to rotate the image when displaying. The stored pixels are in one orientation; the rotation flag tells the viewer how to show them. If you decode the pixels without applying the flag, the output can appear sideways or upside-down.
This tool reads the orientation from the decoder's output and applies it before encoding the JPG, so the output appears the same way the HEIC appears in the Photos app. The tool does not rotate twice β the transformation is applied once, then baked into the output pixels.
HEIC to JPG for websites and CMSs
Almost every CMS and static site generator expects JPEG, PNG, WebP, or AVIF for user-uploaded images. HEIC uploads often fail silently or are rejected with a generic "unsupported format" error. Converting to JPG before upload is the simplest fix. For responsive images, you can then run the JPGs through an image optimizer to produce smaller WebP/AVIF versions for modern browsers while keeping JPG as the fallback.
Batch conversion
Selecting multiple HEIC files converts them sequentially. Each file gets its own status (Ready β Converting β Converted / Failed) and its own download button. A failed file does not stop the batch β the other files continue and the failures are reported individually. Once every file has been processed, a "Download All (ZIP)" button appears and packages the successful outputs into a single ZIP for one-click download. The ZIP is generated entirely in the browser using JSZip; nothing is uploaded.
Common HEIC conversion problems
- "Unable to decode this HEIC image" β the file uses an HEIC variant the decoder doesn't support (rare, but possible with unusual multi-image containers).
- Output appears rotated β the orientation flag wasn't applied. This tool applies it, so the output should appear upright.
- Output is larger than the HEIC β expected. HEIC compresses more efficiently than JPEG. Converting at quality 70 or below reduces this.
- Transparent areas turned white β JPEG does not support transparency; the tool flattens onto a white background.
- EXIF is missing from the JPG β by design. The tool strips metadata for privacy.
Privacy and processing
Everything on this page runs locally in your browser. Your HEIC files are read from disk into memory, decoded with a WebAssembly HEIC decoder, re-encoded as JPEG, and offered for download. Nothing is uploaded, nothing is logged, and no analytics event contains your filenames, image data, EXIF, GPS, or dimensions. The page works offline once loaded (apart from the CDN scripts, which are cached after the first visit).
Because the decoder runs client-side, there's no server-side file size limit β but very large images (hundreds of megapixels) may exceed browser memory. The tool warns you rather than silently failing.
Related developer tools
- Hash Generator & Checksum Tool β generate SHA-256 or MD5 for converted JPGs.
- Base64 Encoder & Decoder β embed images in API payloads or data URLs.
- Universal Data Transformer β turn batch metadata into JSON, CSV, or SQL.
- JSON Diff β compare manifests or metadata lists.
- API Request Builder β test image upload endpoints with multipart requests.
- UUID Generator & Validator β generate unique IDs for batch jobs.
- JSON vs XML comparison guide β background on data formats.
Frequently asked questions
What is a HEIC file?
A HEIC file is an image container format used by iPhones and iPads. It stores HEVC-compressed photos and is typically half the size of an equivalent JPEG.
What is HEIF?
HEIF is the ISO standard container that HEIC is based on. HEIC is HEIF with HEVC image data. The two terms are often used interchangeably.
What is the difference between HEIC and HEIF?
HEIF is the general container; HEIC is HEIF with HEVC-compressed images. Other HEIF variants use different codecs (e.g. AVIF uses AV1).
Why do iPhones use HEIC?
HEIC halves the storage cost of photos compared to JPEG at equal visual quality. Apple enabled it by default in iOS 11 to let users store more photos on the same device.
How do I convert HEIC to JPG?
Drop the HEIC file into the upload area above. The tool decodes it locally and produces a JPG. Adjust the quality slider if you want, then click Download.
Does this tool upload my photos?
The selected HEIC image is decoded and converted to JPG in your browser; it is not uploaded to RKRAJ.IN for conversion.
Can I convert multiple HEIC files?
Yes. Select multiple files at once. They convert sequentially with individual statuses and a "Download All (ZIP)" button appears when finished.
Can I convert HEIF files?
Yes, if the HEIF variant uses an HEVC-compressed image (i.e. it's technically HEIC). HEIF with other codecs may not be supported by the decoder.
Will converting HEIC to JPG reduce image quality?
Slightly. JPEG is a lossy format, so the re-encode introduces a small amount of additional loss. At quality 90 or above, it's visually imperceptible for most photos.
What JPG quality should I use?
90 is a good default. Use 70β80 for smaller files where minor artifacts are acceptable; use 95β100 when fidelity matters more than file size.
Does JPG support transparency?
No. JPEG has no alpha channel. Transparent areas in the source HEIC are flattened onto a white background in the output.
Will EXIF metadata be preserved?
No. EXIF metadata (camera info, timestamps) is not copied to the output JPG. This is a privacy default.
Will GPS metadata be preserved?
No. GPS coordinates are never written to the output JPG.
Will image dimensions change?
No. The output JPG has the same pixel dimensions as the source HEIC. The tool does not resize.
Can I convert iPhone photos to JPG?
Yes. iPhone HEIC photos are the primary use case for this tool.
Can I convert HEIC on Windows?
Yes. The tool works in any modern browser on Windows. No installation is required.
Can I convert HEIC on Mac?
Yes. The tool works in Safari, Chrome, and Firefox on macOS.
Can I convert HEIC without installing software?
Yes. This tool runs entirely in your browser β no downloads, no plugins, no accounts.
Why can't my browser open HEIC files?
HEIC decoding is not part of the standard web image API. Browsers only decode HEIC natively if the operating system provides a decoder (mainly Safari on Apple platforms). This tool uses a WebAssembly decoder to support all browsers.
Why did my JPG become larger than the HEIC?
HEIC compresses more efficiently than JPEG. When you re-encode to JPEG, the output is typically 30β60% larger than the original HEIC at high quality settings. Lower the quality slider to reduce the output size.
Can I convert very large HEIC images?
Yes, up to browser memory limits. Very large images (hundreds of megapixels) may be slow or fail; the tool warns you rather than hanging silently.
Does the tool support HEIC image sequences?
No. The decoder produces a single image. If a HEIC contains multiple frames, only the primary image is converted. The tool does not silently produce extra files.
Convert HEIC to JPG now
Drop your HEIC files, adjust quality, and download JPGs β all in your browser, all private.