HEIC to JPG Converter

Turn iPhone photos into JPG files that open anywhere. 100 at a time, and nothing is uploaded.

Files never leave your device Batch up to 100 No signup, no watermark

Drop your HEIC or HEIF files here

or choose files — up to 100 at once, 100 MB each

No upload. Files are processed in your browser.

92%

Files never leave your device · EXIF and GPS removed

Works on Chrome, Safari, Firefox and Edge · No installation

Short answer

HEIC to JPG conversion turns Apple’s HEVC-compressed photos into standard JPEG files that open on any device. FormatWave does it inside the browser, so the photos are never uploaded, and up to 100 can be processed in one batch.

HEIC is the format iPhones use by default since iOS 11. It saves roughly half the space of JPEG at the same visual quality — great on your phone, annoying everywhere else. Windows photo viewers, older Android phones, website upload forms and email clients often refuse to open it.

This converter decodes HEIC in your browser and re-encodes it as JPG. Your photos are never sent to a server, so there is no upload wait, no file-size limit from us, and no copy of your pictures sitting on someone else’s disk.

Last reviewed November 2026

Why convert HEIC to JPG?

It opens everywhere

JPG is supported by every browser, phone, printer and upload form. HEIC support is still patchy outside Apple devices.

Upload forms accept it

Job portals, visa applications, school systems and marketplaces commonly reject .heic files with a generic “unsupported format” error.

Smaller risk, same look

At quality 90–95 the difference is invisible on screen, and you keep the original HEIC files untouched.

How to convert HEIC → JPG

  1. Drop your HEIC files. Drag a folder or select up to 100 photos. Nothing is uploaded — the browser reads them locally.
  2. Pick quality and size. Quality 92 is a good default. Lower it to 80 for forms with a 2 MB limit, or resize the long edge to 2048 px.
  3. Download JPGs. Save files one by one or grab everything as a single ZIP. Metadata, including GPS location, is removed.

What settings actually change

SettingTypical resultWhen to use
Quality 95~30% larger than 92Archiving, printing
Quality 92Baseline — about the source sizeDefault for sharing
Quality 85~17% smallerSharing, most upload forms
Quality 80~25% smallerUpload limits, email
Max width 2048 px~56% smaller than full sizeWeb, chat, marketplaces

Measured: what these settings actually produce

We ran this exact converter on six 12 MP photos (4032 × 3024, 7.1 MB of HEIC in total) in Chrome 156 on an Apple M6 Mac. No upload, same code you are using.

Output qualityAll six photosPer photoBatch time
959.2 MB1.5 MB1.6 s
92 (default)7.1 MB1.2 MB1.6 s
855.9 MB1.0 MB1.4 s
805.3 MB0.9 MB1.4 s
  • Roughly 0.25 s per 12 MP photo, decode and encode included. Resizing the same batch to 2048 px took the same 1.5 s and produced 3.1 MB.
  • Output size follows image detail: foliage, crowds and text can produce files three to four times larger than a smooth sky at the same setting.
  • In this test the JPGs came out close to the HEIC size because the source files were already encoded at high quality. Photos straight from a camera usually produce larger JPGs than the HEIC they came from — the reason to convert is compatibility, not size.

Which quality should I pick?

  • 92 — Default. Visually identical to the original on screen, reasonable size.
  • 85 — Noticeably smaller, still fine for sharing and most upload forms.
  • 80 — Use when a form caps you at 2 MB or similar.
  • 95+ — Only worth it if the file will be edited again.

Inside the conversion: what happens to a 12 MP HEIC

A 12 MP iPhone photo is 4032 × 3024 pixels. The HEIC file on disk is about 1.5 MB because HEVC stores it as a compressed prediction, not as pixels. To re-encode it as JPG, the browser first has to decode it back into raw pixels: 4032 × 3024 × 4 bytes per pixel, roughly 46 MB in memory for a single photo. That number, not the file size, is what limits batch conversion on a phone.

The decoded buffer is drawn onto a canvas — this is also the step where Max width takes effect, and where the image is converted to sRGB. The canvas is then encoded to JPEG at the quality you picked, and the result is handed back as a Blob you can download. Everything happens in a Web Worker, so the page stays responsive.

Because the output is a fresh encode, no metadata is carried over: no EXIF, no GPS, no Apple-specific maker notes. That is why the date and location disappear. It also means the JPG size depends only on the pixels and the quality setting, which is why a detailed photo of foliage can come out three to four times larger than a smooth sky at the same setting.

If the conversion fails

Six failures we see reported most often, and what actually causes them. None of them involve an upload — the file never leaves the tab.

SymptomWhat causes itWhat to do
The .heic file is greyed out in the pickerThe picker filters on the .heic / .heif extension and the file was renamed in transit (a .heics export, or no extension at all)Drag it onto the drop zone — drag and drop ignores the extension filter
Progress stays at 0%The decoder worker was blocked by a content blocker, a corporate proxy, or Safari lockdown modeAllow this site in the blocker, or open the page in a normal tab
One photo fails while the rest convertThe tab ran out of memory — usually a 40 MP+ photo in iOS SafariSet Max width to 2048 px and convert that file on its own
Error on very large filesDeliberate guard: files above about 60 MP are rejected so the tab cannot crashResize first. No setting lifts this limit
Colours look slightly flatterOutput is sRGB and the source was Display P3Expected. JPEG has no wide-gamut profile, and the shift is small
Capture date and GPS are goneRe-encoding through a canvas drops the EXIF blockIntended — that is the privacy feature. Keep the original HEIC if you need the metadata

Where the JPG will hit an upload limit

The conversion has no quota, but the site you upload to does. These are the caps that come up most often with phone photos.

DestinationTypical capSettings that fit
Gmail and most mail clients25 MB per messageQuality 80, max width 2048 px
WhatsApp16 MB per imageQuality 85 at full size is already enough
Instagram feed8 MB, JPEG onlyQuality 85, max width 2048 px
WordPress media library2 MB by default (server setting)Quality 75–80, or raise the PHP upload limit
US visa / DS-160 photo240 KBResize to 600 × 600, quality 70
eBay listing photos12 MB per imageQuality 90 at full size is fine
Discord, free tier10 MB per attachmentQuality 80, max width 2048 px

These are the caps users report most often, not a contract — platforms change them. If a form still rejects the file, drop the quality one step and try again.

Questions

Are my photos uploaded to a server?

No. The conversion runs entirely in your browser using WebAssembly. You can disconnect from the internet after the page loads and it will still work.

How many files can I convert at once?

Up to 100 per batch on desktop, fewer on phones with limited memory. Each file can be up to 100 MB.

Does converting reduce quality?

JPG is lossy, so some data is discarded. At quality 92 and above the difference is not visible on screen; keep your original HEIC files if you need a perfect archive.

Is HEIC the same as HEIF?

HEIF is the container, HEIC is the HEVC-coded variant Apple uses. This tool accepts both .heic and .heif files.

What happens to the date and location data?

It is removed. Canvas-based re-encoding drops EXIF metadata, which also strips GPS coordinates — useful when you share photos publicly.