How to Convert HEIC to JPG Without Uploading to Any Server
WebAssembly makes it possible. Here is how it works.
tl;dr
LocalJPG converts HEIC to JPG entirely in your browser — your files never leave your device. Drop your .heic files, download JPGs. Free for single files, no account required.
Ready? Drop your HEIC files below.
Open converterThe problem with most converters
Search for “convert HEIC to JPG” and you get CloudConvert, iLoveIMG, Convertio, and a dozen similar sites. Every one of them uploads your file to a server, converts it there, and sends the result back. Your iPhone photos — trips, family events, medical documents, passport scans — travel to a company you have never heard of and sit there until their deletion timer runs out (usually 24–48 hours).
This was not a deliberate privacy choice by those companies. It was a technical constraint: HEIC decoding requires a specific library (libheif) that browsers do not include natively. Running the conversion on a server was the only practical option — until WebAssembly.
How WebAssembly changes this
WebAssembly (WASM) lets you compile C and C++ programs into a binary format that browsers can run at near-native speed. libheif — written in C++ — can be compiled to WASM and shipped as part of a web application. That is exactly what LocalJPG does, using the jsquash library to bridge C codecs to JavaScript.
The conversion pipeline runs entirely inside a Web Worker in your browser tab:
- Your .heic file is read into memory in the Worker
- libheif WASM decodes it to raw RGBA pixel data
- MozJPEG WASM encodes the pixels to JPG at quality 85
- EXIF metadata is injected back into the output file
- The JPG is transferred back to the main thread as a Transferable (zero-copy)
Nothing in this pipeline requires a network request. The WASM binary is downloaded once on first visit and cached by the browser. After that, conversion works completely offline.
Verify it yourself
You do not have to take this on faith. Here is how to confirm that no image data leaves your device:
Step-by-step DevTools proof
- Open localjpg.com
- Press F12 (Windows) or Cmd+Option+I (Mac)
- Click the Network tab in DevTools
- Drop a .heic file onto the converter
- Watch the requests — you will see analytics and Turnstile pings, but no POST request containing your image
The NetworkCounter widget in the top right of LocalJPG shows this live: “image bytes sent to server: 0”. CloudConvert, iLoveIMG, and Convertio cannot honestly show that counter, because they do upload. LocalJPG can — and does.
What gets preserved
LocalJPG uses MozJPEG at quality 85 with 4:4:4 chroma subsampling. This preserves colour accuracy in photos with rich reds and skin tones — common with iPhone photos — at the cost of a slightly larger file than 4:2:0 subsampling would produce. EXIF metadata (date taken, GPS location, camera model, orientation) is injected into the output JPG via raw APP1 bytes.
Common questions
How can I convert HEIC to JPG without uploading?▾
Use LocalJPG. It runs the HEIC decoder (libheif) and JPEG encoder (MozJPEG) entirely in your browser via WebAssembly. Drop your .heic files and download JPGs — nothing is ever sent to a server.
Why do most HEIC converters upload my files?▾
HEIC decoding requires a specific codec (libheif) that most browsers do not include natively. Until recently, the only practical option was to run the decoder on a server and return the result. WebAssembly changed this — it lets compiled C libraries like libheif run at near-native speed inside the browser tab.
How do I verify that LocalJPG is not uploading my photos?▾
Open your browser DevTools (F12 on Windows, Cmd+Option+I on Mac) → click the Network tab → drop a HEIC file into LocalJPG. Watch the requests. You will see analytics and Cloudflare Turnstile pings, but zero POST requests containing image data.
Is converting HEIC in the browser slower than using a server?▾
For a few photos, it is roughly the same speed or faster because there is no upload/download latency. For large batches (50+ photos), a dedicated server would be faster — but the privacy tradeoff means your files travel over the network. On a modern device, LocalJPG converts a typical iPhone photo in under 1 second.
Related: HEIC to JPG converter · LocalJPG vs TinyPNG · LocalJPG vs CloudConvert
Convert your HEIC files — free, no upload, no account.
Convert now