Home/Tools/HEIC to JPG (Offline)
iPhone Photos · 100% Offline

HEIC → JPG

Drop iPhone HEIC photos below. Conversion happens entirely on your device — no upload, no server, no tracking. Disconnect your wifi after the page loads and it still works.

network out: 0 bytes

$ verify it yourself

  • DevTools test — open Network tab (F12), drop a HEIC, watch the tab stay empty. No fetch, no XHR, no WebSocket.
  • Airplane mode test — load this page, turn off all networking, then drop a file. It still converts. Proof that everything needed is already on your device.
  • View source test — there's no upload endpoint in the page source. The only code that touches the file is heic2any, running locally.
  • Firewall test — block privateconvert.net in your firewall after page load. Conversion still works. The page has nothing more to ask of the network.

How offline HEIC to JPG conversion works

This page is a static HTML document with a WebAssembly library (heic2any) embedded into it. When you drop a HEIC file, the file is read into your browser's memory using the FileReader API, decoded by the WASM module on your CPU, re-encoded as JPG, and handed back to you as a download. At no point does the file leave your device.

Why offline conversion matters

Most "free HEIC converter" websites work by uploading your photos to their servers, converting them there, and sending the JPG back. That's fine for vacation snapshots, but a problem if your HEICs contain:

  • Sensitive personal photos (medical, family, intimate)
  • Confidential business documents you photographed
  • Screenshots of legal or financial information
  • Anything you wouldn't want sitting on a stranger's server, even briefly

With offline conversion, the file is processed entirely inside the privacy sandbox of your browser tab. The server hosting this page (Netlify) serves the HTML, CSS, and WASM library, then has nothing else to do — there's no "upload" endpoint on our side because we don't process files server-side.

How to verify it's really offline

You don't have to trust us. Verify it yourself:

  1. Open your browser's DevTools (right-click → Inspect, or F12).
  2. Switch to the Network tab and clear it.
  3. Drop a HEIC file onto the converter above.
  4. Watch the Network tab — it stays empty during conversion. No XHR, no fetch, no WebSocket. Nothing.

Alternatively: load this page, then turn off your wifi or unplug your ethernet. The converter still works because everything it needs is already in your browser's memory.

"No upload" is a stricter guarantee than "private"

Lots of HEIC converters call themselves private. Read the fine print and you usually find:

  • "Files are deleted after conversion" — meaning they were uploaded first.
  • "Encrypted in transit" — meaning they're transmitted, just over HTTPS.
  • "We don't store your files" — relying on the operator's promise rather than architecture.
  • "GDPR compliant" — a regulatory claim, not a technical one.

All of these still involve your file existing on someone else's server, even briefly. That's a fundamentally different threat model from the file never being transmitted at all.

This converter is the second kind. There is no upload endpoint. There is no server-side process to delete the file from. The architecture itself makes data leakage impossible — not because we promise to be careful, but because there's nothing to be careful with.

HEIC vs JPG — what's the difference?

HEIC (also called HEIF) is Apple's preferred image format since iOS 11. It's based on the modern HEVC video codec and produces files about 50% smaller than equivalent-quality JPGs. Great for storage on your phone.

JPG is the universal standard from 1992. It's larger but every device, app, website, and operating system understands it. When you need to share a photo with someone on Windows, upload to a website that rejects HEIC, or edit in older software, you need JPG.

This converter gives you the best of both: keep storing originals as HEIC on your iPhone, convert to JPG on demand when you need universal compatibility.

Open architecture for the paranoid

Everything on this page is inspectable:

  • The converter library (heic2any / libheif) is open source — github.com/alexcorvi/heic2any. You can read every line.
  • The page itself — right-click → View Source. You'll see plain HTML and the converter JS that wires the drop zone to the engine. No obfuscation, no minified mystery code.
  • The network — DevTools shows everything. There are no hidden requests because browsers can't make hidden requests.

Frequently asked questions

Is the HEIC to JPG conversion really offline?

Yes. The converter is a static web page that loads a WebAssembly library (heic2any) into your browser. Once the page is loaded, all conversion happens locally on your CPU. You can disconnect from the internet and the converter still works — proof that no upload is happening.

Why is my iPhone saving photos as HEIC instead of JPG?

Since iOS 11, iPhones use HEIC (High Efficiency Image Container) as the default photo format. HEIC files are about 50% smaller than JPG at equivalent quality, but they aren't supported by many Windows applications, older browsers, and image-editing tools. Converting to JPG makes them universally compatible.

If you want your iPhone to capture in JPG natively: Settings → Camera → Formats → "Most Compatible."

Will I lose image quality converting HEIC to JPG?

Both HEIC and JPG are lossy formats, so any re-encoding introduces minor quality loss. Our converter defaults to 92% JPG quality, which is visually indistinguishable from the original on screen but produces files about 30-40% larger than the HEIC. You can adjust the quality slider to balance file size and fidelity.

Is there a file size limit for offline HEIC conversion?

There's no enforced limit, but your browser has practical memory constraints — typically 1-2 GB on a desktop. For most iPhone HEIC photos (1-5 MB each), you can convert hundreds in one session without issues. For very large RAW HEICs from professional cameras, use a desktop browser with plenty of free RAM.

Does this work on mobile (iPhone, Android)?

Yes. The converter works in Safari on iPhone/iPad and Chrome/Firefox on Android. On mobile you may want to convert files in smaller batches since RAM is more limited than on desktop.

Are my photos private when I use this converter?

Completely. We never receive your files because they're never uploaded. The only data we collect is anonymous, cookieless pageview analytics via Plausible — no file names, hashes, sizes, or contents are ever transmitted off your device. See our privacy page for the full disclosure.

Do you store the converted JPGs anywhere?

No. The converted JPGs exist only in your browser tab's memory and on your disk after you save them. Close the tab and any conversion state is gone — no caches, no history, no server logs.