HEIC to JPG Converter

Convert HEIC/HEIF photos to JPG instantly. Bulk convert, preview, download individually or as a ZIP.

Optimized for Core Web Vitals: stable layout (CLS), minimal main thread work (TBT), and interaction-driven loading.

Drop HEIC files here
Or click to choose files. No uploads.
Supports HEIC and HEIF.

FAQ

Does this upload my photos?

No. Conversion happens entirely on your device. The app uses WebAssembly and Web Workers inside your browser.

Why are iPhone photos HEIC?

HEIC (based on HEIF) can store photos at smaller sizes than JPG while keeping high quality. Many apps still prefer JPG, so conversion is common.

Can I convert multiple files at once?

Yes. Add multiple HEIC/HEIF files and the tool will process them sequentially, then enable a “Download all (.zip)” button.

HEIC to JPG: a practical guide for fast, private conversion

If you have photos from an iPhone or a newer device, there’s a good chance they are saved as HEIC (or HEIF) instead of JPG. HEIC is efficient and modern, but it can be inconvenient when you need maximum compatibility. Many websites, apps, printers, and older operating systems still expect JPEG files, and “just uploading” a HEIC image often fails or strips previews. A reliable HEIC to JPG converter solves that problem by producing a standard JPEG that works almost everywhere.

heic-to-jpg.io is designed as a single-page tool with performance and stability in mind. The UI renders skeleton result cards immediately (to keep the layout stable), then performs conversion sequentially in a Web Worker. That approach keeps the main thread responsive and reduces the chance of memory spikes on mobile. Most importantly, the conversion happens client-side: your files are processed on your device, not uploaded to a server.

What is HEIC / HEIF?

HEIF (High Efficiency Image File Format) is a container format for images and image sequences. HEIC is a common HEIF variant used for single photos. Apple popularized HEIC on iOS because it can store high-quality images at smaller file sizes than JPEG. Internally, many HEIC photos use a modern video codec (HEVC/H.265) to compress still images efficiently. This can be great for storage, but it also means that some systems need extra components or decoders to read HEIC images correctly.

You may see HEIC/HEIF in situations like: importing iPhone photos to a Windows PC, attaching images to email clients, uploading to older CMS systems, or dropping photos into software that only accepts JPG/PNG. Converting to JPG is usually the simplest compatibility fix, because JPEG decoding is universally supported across browsers and devices.

Why convert HEIC to JPG?

Converting HEIC to JPG is useful when you want an image format that:

  • Uploads reliably to forms and web apps that don’t accept HEIC.
  • Opens in older photo editors, office apps, or print workflows.
  • Is easier to share with people on mixed devices (Android/Windows/macOS).
  • Works in third-party services that generate thumbnails from JPG.
  • Fits into automation pipelines that expect “.jpg” extensions.

While PNG is also widely compatible, JPG is usually the better target for photos (smaller output, ideal for gradients and natural images). JPG does not support transparency, but HEIC photos typically don’t need it. For standard camera photos, converting to JPEG is the most practical option.

How this browser-based HEIC to JPG converter works

The conversion pipeline is intentionally interaction-driven. The page loads with minimal JavaScript so it can be fast and stable. When you add HEIC files, the app creates result “cards” immediately, then lazy-loads the heavy decoding runtime and ZIP utilities. HEIC decoding is performed with WebAssembly, and conversion runs inside a dedicated Web Worker. By doing decoding off the main thread, the UI stays responsive while each file is processed one at a time.

After decoding a HEIC image to raw RGBA pixels, the converter encodes the result as a JPEG using a canvas encoder. The app then creates an Object URL for preview and revokes URLs on reset to avoid memory leaks. This object URL lifecycle management is especially important on mobile browsers, where holding many large previews can cause crashes or tab reloads.

Quality settings: file size vs. detail

JPEG is a lossy format. That means the “quality” setting affects the output size and visual detail. Higher quality produces larger files and preserves more texture, while lower quality reduces file size at the cost of compression artifacts. For most photos, a quality range of 75 to 85 is a good balance. Use higher values for print, professional editing, or images with sharp edges and text. Use lower values when you need smaller files for web uploads or messaging.

This tool’s global quality slider applies to files that are still pending in the queue. You can also override quality per image using the settings button on a card. That lets you keep most images at an efficient size while preserving extra quality for a few important photos.

EXIF metadata: keep it or remove it

Many photos contain EXIF metadata such as camera model, exposure, timestamp, and sometimes GPS location. Keeping EXIF can be useful if you rely on photo dates, lens information, or editing apps that read metadata. On the other hand, removing metadata can be better for privacy, especially if you’re sharing images publicly. This converter includes a “keep EXIF” toggle as a best-effort option: when metadata can be extracted from the HEIC container and safely inserted into the output JPEG, it will be preserved. If not, conversion still succeeds and you get a clean JPEG.

Batch conversion and ZIP downloads

If you have dozens of iPhone photos to convert, bulk processing saves time. Add multiple files at once and let the app process them sequentially. As each image completes, the preview updates and an individual download button becomes available. When the batch is finished, the “Download all (.zip)” button is enabled. The ZIP is generated only when you click download, which avoids unnecessary CPU work and keeps the page responsive during conversion.

Troubleshooting HEIC conversion

If a HEIC file fails to convert, it’s often due to one of a few common reasons. Some HEIF containers include image sequences (for example, burst shots or Live Photo derivatives). This tool converts the primary image by default. A file may also be partially corrupted (incomplete transfer), or it may use features that are not supported by a given decoder build. Try re-exporting the original photo, downloading it again, or converting fewer files at once on memory-constrained devices. If a file is detected as non-HEIC, ensure the extension is .heic or .heif and that your browser isn’t stripping MIME types.

For the best results, use a modern browser. If you’re on a phone and the tab reloads mid-conversion, reduce the batch size and let the sequential worker finish a few files at a time. The converter is built to fail safely: errors are shown on the affected card and the queue continues, so one problematic file does not stop the entire batch.