How to Convert HEIC Photos to JPG on Any Device
Struggling to open .heic files from your iPhone? Why Apple uses HEIC, how to convert batches to JPG offline, and how to handle the format on each OS.
If you take photos on an iPhone and transfer them to a Windows PC, a Linux machine, or a website form, you have hit the .heic error. HEIC compresses brilliantly on Apple hardware and plays poorly with almost everything else. The photographer sending proofs to a client. The student submitting homework to a learning portal. The traveler trying to print vacation photos at a kiosk. For millions of people, this is a daily annoyance.
The fix is conversion, and the safe way to do it keeps the photos on your device. This is what HEIC is, why Apple adopted it, and how to convert it without uploading your camera roll anywhere.
Why Apple Uses HEIC
When iOS 11 arrived in 2017, iPhones switched from JPEG to the High Efficiency Image File format, HEIF, saved with the .heic extension. The reason was storage. Cameras were shooting higher megapixel counts, 4K video, and Live Photos, and JPEG was bloating libraries and backing up slowly to iCloud.
HEIC’s compression core is HEVC, the H.265 video codec, and it stores photographic data at roughly half the file size of JPEG with equal or better visual fidelity. A 64GB iPhone suddenly held twice as many photos. HEIC also goes deeper than JPEG’s 8-bit color, supporting 16-bit depth, which prevents the banding you see in smooth gradients like skies and skin tones. It is a container, not just a single image. One file can hold the main photo, a thumbnail, a depth map for Portrait Mode, an alpha channel, and the video track for a Live Photo. Edits like crops and filters are stored as reversible instructions rather than baked into the pixels.
The Compatibility Problem
None of that matters when the file will not open. Windows has no native HEIC support without codec extensions installed. Browsers do not render HEIC in <img> tags. Government portals, job applications, LMS uploads, and printing kiosks reject it with “unsupported file type.” The format is superior and, in practice, stranded outside the Apple ecosystem.
Why Cloud Converters Are the Wrong Fix
The instinct is to search “HEIC to JPG converter” and use a free site. That means uploading your photos to a server owned by someone you have never met. People photograph passports, licenses, tax documents, medical records, and family moments. Handing those to a random converter is a real risk. A promise that files are deleted after 24 hours is unverifiable, and the files can be intercepted, retained, or used to train models. Convert a hundred photos this way and you are also burning bandwidth on the upload and download, on top of whatever daily limits the free tier imposes.
Converting Locally with WebAssembly
The clean alternative is a converter that runs in the browser. ImageUp compiles the open-source libheif decoder to WebAssembly, so the conversion executes on your own CPU. Your photos never leave your device. Disconnect from Wi-Fi after the page loads and it still works. No daily conversion caps, no upload queues, batches of hundreds of files process at your machine’s speed.
The steps take seconds.
- Open the HEIC to JPG converter.
- Drag your
.heicor.heiffiles into the drop zone. - Pick the output. JPG for maximum compatibility and smaller files. PNG for lossless quality or transparency.
- Set the quality slider to 80-90% for JPG, which is visually indistinguishable from the original.
- Convert, then download the results.
One note on quality. The conversion from HEIC to JPG is lossy, so a tiny amount of data is discarded. At 90% quality or higher, the difference is imperceptible. At aggressive settings, gradients can show banding. Keep the slider high for anything you care about.
Handling HEIC Per Operating System
If you would rather use native tools, each OS has its own path.
Windows. Install the HEVC Video Extensions and the free HEIF Image Extensions from the Microsoft Store, restart, and the Photos app and File Explorer handle .heic files.
macOS. HEIC is native on High Sierra and later. Open the file in Preview, use File > Export, choose JPEG or PNG, and save. To batch-convert, select multiple files in Finder, right-click, and use the Convert Image quick action.
Linux. Install libheif support, for example heif-gdk-pixbuf and heif-thumbnailer on Ubuntu and Debian. Thumbnails appear in the file manager and viewers open the files. Terminal users can convert with ImageMagick compiled with HEIC support.
Or Stop Shooting HEIC Entirely
If compatibility is a constant fight, iPhone lets you switch back to JPEG. Settings > Camera > Formats > Most Compatible. The trade-off is real, though. A 3GB HEIC library becomes 6GB or more in JPEG, your device fills faster, and you lose the 16-bit color depth. For most people, converting the occasional batch locally beats paying for the storage all year.
Real-World Conversion Scenarios
The situations that force a conversion are usually time-sensitive. A photographer needs proofs in the client’s inbox before the meeting. A student’s LMS rejects the phone photos of a handwritten lab report minutes before the deadline. A landlord needs lease photos converted for a portal that only accepts JPG. In each case, the local converter is the difference between a two-minute fix and a stalled workflow.
Batch conversion is where the local approach pays off most. A vacation’s worth of photos, a shoot’s worth of proofs, a document stack’s worth of receipts. All of it converts in one pass on your own processor, no per-file limits, no subscription nagging you past the fifth image of the day. The output lands as a folder or zip, ready to email, upload, or print.
Keeping the Originals
Converting to JPG does not mean deleting the HEIC masters. The originals hold the 16-bit color depth, the depth maps, and the Live Photo data that JPG drops, and they are the files you would want if a future format or an un-edit needs them. The practical pattern is to convert copies for sharing while archiving the HEIC originals. The local workflow makes this easy. The conversion reads the files and never touches the sources.
HEIC is a better format trapped in a compatibility gap. Converting it locally with WebAssembly closes the gap without trading your privacy for convenience. The files stay on your device, the conversion runs at your machine’s speed, and the JPGs that come out open anywhere.