If you own an iPhone, you already know the pain: you take a photo, try to upload it somewhere, and get hit with an unsupported file format error. That's HEIC (High Efficiency Image Coding) — Apple's default photo format since iOS 11. It's great for saving storage space, but a nightmare for compatibility with websites, older apps, and non-Apple devices.
I got tired of running into this problem myself, so I built heic2.tools — a free, browser-based HEIC to JPG/PNG/WebP converter. Here's how it works and why I built it the way I did.
The Problem With Existing Solutions
Before building my own tool, I tried the usual options:
Desktop software: Works fine, but requires installation and isn't useful when you just need a quick conversion on the go.
Online converters that upload your files to a server: These work, but they raise an obvious privacy concern — your personal photos are being uploaded to someone else's server, processed, then (hopefully) deleted.
Command-line tools: Great for developers, but not something the average person wants to touch.
None of these felt right for a simple, everyday task like "I just want to turn this one HEIC photo into a JPG."
The Approach: Convert Entirely in the Browser
The core idea behind heic2.tools is simple: the conversion happens entirely on the user's device, inside the browser. No files are uploaded to a server. No accounts. No waiting on a queue.
This has a few advantages:
Privacy — since photos never leave the device, there's nothing to worry about in terms of data storage or server breaches.
Speed — no upload/download round trip means conversions are close to instant.
Cost — no server-side processing means no infrastructure costs scaling with usage, which is part of why the tool can stay free.
Under the hood, this is done using client-side JavaScript libraries that decode the HEIC format and re-encode it into JPG, PNG, or WebP, all within the browser's memory. The trade-off is that very large batches can be limited by the user's own device performance rather than server power — but for everyday use (a handful of iPhone photos), it's more than fast enough.
Features I Focused On
When building the tool, I kept the feature set intentionally simple:
Drag-and-drop batch conversion — drop in multiple HEIC files at once
Multiple output formats — JPG, PNG, and WebP depending on what you need
No sign-up, no watermark, no file limits
Works on any modern browser, desktop or mobile
I deliberately avoided over-engineering it with accounts, dashboards, or premium tiers. The goal was to solve one specific annoyance as fast and cleanly as possible.
What I Learned
A few takeaways from building this:
Client-side image processing has come a long way. Browsers are now powerful enough to handle format conversion tasks that used to require a backend.
Privacy-first tools have real appeal. A surprising number of users specifically search for "convert HEIC without uploading" — people are increasingly aware of where their files go.
Simplicity wins for utility tools. Nobody wants to create an account to convert one photo.
Try It Out
If you've got iPhone photos that won't open on your Windows PC, a website, or an app that doesn't support HEIC, you can try the tool here: www.heic2.tools
It's free, no sign-up required, and your photos never leave your device.
I'd love feedback from other developers — especially if you've worked on client-side image processing before. What would you have done differently?
Top comments (0)