Skip to content

HEIC to JPG Converter — iPhone Photo to JPEG Online

Browser-side — no upload
Last verified May 2026 — runs in your browser

HEIC / HEIF to JPG — Convert iPhone Photos to JPEG

Convert HEIC/HEIF photos from iPhone or iPad to the universally compatible JPG format. HEIC (High Efficiency Image Container) is Apple's branded HEIF profile defined by ISO/IEC 23008-12:2017 (first edition; second edition 2022, third edition 2025), wrapping HEVC-coded image payloads (ITU-T H.265 / ISO/IEC 23008-2, approved 13 April 2013) in the HEIF box structure. Apple announced HEIC at WWDC June 2017 and rolled it out as the default Camera format on iPhone 7 and later with iOS 11 (released 19 September 2017) — the change cuts photo file size roughly in half versus JPG at equivalent SSIM. The catch: most non-Apple software still cannot decode HEIC. canvas.toBlob('image/heic') is not supported in any browser as of 2026, and only Safari 17+ (released 26 September 2023 with macOS Sonoma; the iOS 17 build shipped 18 September 2023) renders HEIC inside image tags natively. This tool decodes HEIC entirely client-side via libheif (struktur AG + Dirk Farin, LGPL-3.0) compiled to WebAssembly, then re-encodes the pixels as JFIF-wrapped JPEG (Hamilton, C-Cube Microsystems, 1 September 1992; ITU-T T.81 baseline DCT, 18 September 1992) using WHATWG Canvas + HTMLCanvasElement.toBlob('image/jpeg', quality). Quality 1–100 maps to JPEG quantisation table scaling per ITU-T T.81 Annex K — 85 is the standard web sweet spot. Files never leave the device.

How to convert HEIC to JPG

  1. Drop a .heic or .heif file exported from an iPhone or iPad onto the tool. The first conversion downloads the libheif WASM module (~1–2 MB).
  2. Pick a JPG quality level. 85 is the standard web sweet spot per ITU-T T.81 Annex K; 90+ approaches visually lossless; below 70 produces visible blocking and ringing.
  3. libheif decodes the HEVC payload to RGB pixels (with EXIF orientation honoured), and Canvas toBlob('image/jpeg', quality) re-encodes to JFIF JPEG.
  4. EXIF (orientation, GPS, camera fields) is re-attached to the JPEG's APP1 marker so the orientation tag matches what Photos.app would render.
  5. Download the JPG. The original HEIC stays on disk untouched — files never leave the device.

Common use cases

  • Emailing iPhone photos to non-Apple recipients whose mail client (Outlook, Gmail web, Thunderbird) cannot render HEIC inline.
  • Uploading iPhone camera exports to a CMS, e-commerce platform, or government portal that rejects the .heic extension.
  • Importing a vacation photo set into a legacy desktop editor (older Photoshop, GIMP before 2.10.10, Lightroom Classic versions before the HEIF plugin) that does not decode HEIC.
  • Bulk-converting an iCloud Photos export of HEIC files for a backup pipeline (S3, Backblaze, NAS) that is JPG-first or charges per format-specific decoder licence.
  • Producing a JPG mirror to share publicly while keeping the higher-fidelity HEIC original locally.

Frequently asked questions

Why doesn't my browser open HEIC directly?

As of 2026, only Safari 17+ (released 26 September 2023 with macOS Sonoma; the iOS 17 build shipped 18 September 2023) decodes HEIC inside image tags natively — Chrome, Firefox, Edge, and older Safari versions return a broken image. canvas.toBlob('image/heic') is not supported in any browser. The decoder must be shipped to the page; this tool uses libheif (struktur AG + Dirk Farin, LGPL-3.0) compiled to WebAssembly, around 1–2 MB downloaded once on first use.

Will the JPG be larger than the source HEIC?

Yes, typically 1.5–2× larger at JPG quality 85. HEIC's HEVC codec (ITU-T H.265, approved 13 April 2013) compresses far more efficiently than JPEG's 1992 DCT + Huffman pipeline — Apple cites roughly half the size at equivalent SSIM. This conversion sacrifices that size advantage for universal compatibility. Use it when the destination cannot decode HEIC.

Why doesn't iPhone just save photos as JPG?

It can. Settings → Camera → Formats → Most Compatible switches the iPhone Camera to JPEG + H.264 from that point onward, per Apple's official support article (support.apple.com/en-us/116944). The setting does not retroactively convert existing HEICs in Photos. Apple also auto-converts HEIC to JPEG when sharing to non-Apple recipients via Mail or Messages, and when importing to a PC with Settings → Apps → Photos → Transfer to Mac or PC = Automatic — the HEIC files in your library are typically there because you imported via iCloud Photos or a USB cable with Keep Originals enabled.

Does the conversion preserve EXIF (orientation, GPS, capture date)?

Yes. libheif parses the iPhone EXIF block (JEITA CP-3451X / CIPA DC-X008-2019, Exif 2.32 revised 17 May 2019) from the HEIF metadata box and the tool re-attaches it to the JPEG APP1 marker. Orientation is honoured during decode so the JPEG opens the right way up everywhere. If you need to strip EXIF for privacy (GPS coordinates, camera serial), run the converted JPEG through the remove-exif tool afterwards.

What about HDR or 10-bit HEIC photos from newer iPhones?

HDR HEICs (BT.2020 / Display P3 wide-gamut, 10-bit) are tone-mapped to SDR sRGB (IEC 61966-2-1:1999) before JPEG encoding because the standard Canvas 2D path operates at 8-bit sRGB. Wide-gamut and high-dynamic-range information is lost in the JPG output. JPEG itself only carries 8-bit Y′CbCr per ITU-T T.81 baseline, so HDR cannot be preserved in JPG by definition — for HDR-aware workflows keep the HEIC original.

What you trade going HEIC → JPG — and the libheif WebAssembly requirement

The pipeline is decode-the-HEIC-to-pixels-via-libheif-WASM then re-encode-to-JPEG-via-Canvas with several technical considerations the bare format-swapping tools miss: (1) HEIC payloads are HEVC intra-coded keyframes wrapped in HEIF boxes — decoding is intrinsically more compute-intensive than JPEG (which uses 8×8 DCT + Huffman from 1992), so the WASM module loads on first use and is then cached for subsequent conversions. (2) HEIC supports 8-bit and 10-bit colour with HDR + Wide Color Gamut (BT.2020 / Display P3) on recent iPhones; the standard Canvas 2D path defaults to sRGB (IEC 61966-2-1:1999), so HDR HEICs are tone-mapped to SDR sRGB before JPEG encoding — wide-gamut and high-dynamic-range information is lost. (3) HEIC supports an alpha auxiliary item per ISO/IEC 23008-12, but iPhone Camera output is opaque so this rarely matters in practice; the rare transparent HEIC (mostly Live Photos still frames) is composited against white before JPEG encoding since JPEG has no alpha channel. (4) EXIF handling: the iPhone EXIF block (orientation tag, GPS coordinates, camera serial, capture date per JEITA CP-3451X / CIPA DC-X008-2019, Exif 2.32) is parsed by libheif and re-attached to the JPEG APP1 marker — orientation is honoured during decode so the JPEG comes out the right way up. Output file size is typically 1.5–2× larger than the source HEIC at quality 85 — the inverse of HEIC's compression advantage. Use this conversion when compatibility outweighs size: emailing photos to non-Apple recipients, uploading to a CMS that rejects HEIC, importing into a legacy editor, or producing fallbacks for the broad ecosystem that does not yet decode HEVC stills.

  • HEIC / HEIF source decoded via libheif (struktur AG + Dirk Farin, LGPL-3.0) compiled to WebAssembly
  • HEVC payload decoded per ITU-T H.265 / ISO/IEC 23008-2 (approved 13 April 2013, ITU pub 7 June 2013)
  • Adjustable JPEG quality 1–100 mapped to ITU-T T.81 Annex K quantisation tables
  • Output JFIF v1.02 container (Hamilton, C-Cube Microsystems, 1 September 1992) widely accepted by legacy editors and CMS platforms
  • EXIF metadata (orientation, GPS, camera fields) parsed and re-attached to the JPEG APP1 marker
  • HEIF auxiliary alpha composited against white background before JPEG encoding (JPEG has no alpha)
  • Browser-side via WHATWG Canvas + HTMLCanvasElement.toBlob('image/jpeg', quality) — works in any modern browser
  • Required workaround for Chrome / Firefox / Edge / older Safari which cannot decode image/heic natively

Free. No signup. No file uploads. Ads via AdSense (consent required).

Sources (9)
  • ISO/IEC JTC 1/SC 29/WG 11 (MPEG) (2017). Information technology — High efficiency coding and media delivery in heterogeneous environments — Part 12: Image File Format (HEIF). ISO/IEC 23008-12:2017 (first edition) / 2022 (second edition) / 2025 (third edition) — source HEIF container; HEIC is the HEVC-coded profile of HEIF used by Apple since iOS 11 (.heic extension, image/heic media type).
  • ITU-T (VCEG) & ISO/IEC JTC 1/SC 29/WG 11 (MPEG-H) (2013). High Efficiency Video Coding. ITU-T Recommendation H.265 (approved 13 April 2013, ITU pub 7 June 2013) / ISO/IEC 23008-2:2013 (ISO pub 25 November 2013) — HEVC video codec; HEIC payloads are HEVC intra-coded keyframes wrapped in HEIF boxes.
  • ITU-T (CCITT) Study Group VIII & ISO/IEC JTC 1/SC 29/WG 10 (JPEG) (1992). Information technology — Digital compression and coding of continuous-tone still images: Requirements and guidelines. ITU-T Recommendation T.81 (18 September 1992) / ISO/IEC 10918-1:1994 — target JPEG baseline DCT bitstream; quality 1–100 maps to Annex K quantisation tables.
  • Hamilton, E. (C-Cube Microsystems) (1992). JPEG File Interchange Format (JFIF) Version 1.02. 1 September 1992 — target de facto JPEG container; APP0 marker, density units, thumbnail handling.
  • struktur AG & Farin, D. (2017–live). libheif — HEIF and AVIF file format decoder and encoder. github.com/strukturag/libheif (LGPL-3.0 library; struktur AG, Stuttgart, HRB 21388, German Aktiengesellschaft) — primary open-source HEIF decoder; compiled to WebAssembly for browser-side HEIC decoding since canvas.toBlob('image/heic') is not natively supported in any browser as of 2026.
  • Apple Inc. (2017–live). Using HEIF or HEVC media on Apple devices. support.apple.com/en-us/116944 — official Apple support documentation for the Most Compatible / High Efficiency camera setting and the auto-JPEG conversion behaviour when sharing to non-Apple recipients via Mail, Messages, or PC import.
  • JEITA / CIPA (2019). Exchangeable image file format for digital still cameras: Exif Version 2.32. JEITA CP-3451X / CIPA DC-X008-2019 (revised 17 May 2019) — EXIF metadata schema (orientation, GPS, camera serial, capture date) carried by the iPhone HEIF metadata box and re-attached to the JPEG APP1 marker during conversion.
  • WHATWG (live). HTML Living Standard — Canvas 2D Context + HTMLCanvasElement.toBlob(). html.spec.whatwg.org/#2dcontext — browser conversion mechanism: decode HEIC pixels via libheif WebAssembly → drawImage to a canvas at native dimensions → toBlob('image/jpeg', quality) re-encodes via the browser's built-in JPEG encoder.
  • International Electrotechnical Commission (IEC) (1999). Multimedia systems and equipment — Colour measurement and management — Part 2-1: Default RGB colour space — sRGB. IEC 61966-2-1:1999 — default 8-bit RGB colour space targeted by the standard Canvas 2D path; HDR HEICs in BT.2020 / Display P3 are tone-mapped to SDR sRGB before JPEG encoding.

These are the W3C, ISO/IEC, ITU-T, and IETF specifications the tool implements or builds on. Locate them on w3.org, iso.org, itu.int, or datatracker.ietf.org.

Related guides

Sponsored