Skip to main content

HEIC Batch Converter — Convert Many HEIC Photos at Once

Convert multiple HEIC and HEIF photos to JPG, PNG or WebP at once. The libheif decoder runs in your browser and the outputs are bundled into a single ZIP for one-click download.

Tap to select files

Supports HEIC, HEIF, up to 200MB each

Runs entirely in your browser

What to do next

Related tools

About HEIC Batch Converter

Apple started defaulting iPhone cameras to HEIC in 2017 and has not looked back. The format saves about half the storage of a JPEG at the same visual quality and supports advanced colour pipelines that JPEG cannot. The downside is that practically every non-Apple ecosystem still treats HEIC as a foreign format — Slack chokes, Windows Photos refuses, half the print-on-demand sites reject the upload. The HEIC Batch Converter solves this for a folder full of files in one drop. Bring the photos in as HEIC, pick the target format (JPG, PNG, or WebP), and download a ZIP of converted images.

The decoder is libheif compiled to WebAssembly through the heic-to library — the same engine that powers the single-file HEIC to JPG tool. Quality matches what Apple's own Preview app produces when you "Export As" a HEIC: lossless decode of the source, then a single re-encode pass to the target format. JPG output uses 0.92 quality (the sweet spot where artefacts are imperceptible on photographic content). PNG output is fully lossless. WebP output uses 0.85 quality (matching Google's recommended default for photographic WebP), or lossless if you toggle the option.

Concurrency is bounded at three simultaneous decodes. libheif allocates significantly inside its WASM heap during a decode — running ten in parallel would push browser memory past comfortable limits on phones, and the throughput gain over three is marginal because the bottleneck is the decode itself, not orchestration. The same pattern Apple's Preview app uses internally. The progress bar updates per file so a 100-photo batch shows a clean visible advance through the queue.

EXIF metadata survives end-to-end for JPG and WebP outputs (PNG does not have a standard EXIF home, so capture date and GPS coordinates are dropped on PNG export — heads up if you depend on geo-tags). The original HEIC files on your disk are never modified; the tool only ever reads bytes from them. Output is a single ZIP named with today's date so successive runs do not overwrite each other on download. There is no upload, and no per-file or per-month cap.

How it works

  1. 1Drop one or more HEIC / HEIF photos onto the upload area. Combined input size up to 200 MB is accepted.
  2. 2Pick the output format — JPG (default, smallest size for photos), PNG (lossless), or WebP (modern, both lossy and lossless variants).
  3. 3Optional: adjust the JPG/WebP quality slider if the default 0.92/0.85 setting is not what you want.
  4. 4libheif compiled to WebAssembly decodes each photo in your browser. Concurrency is capped at three to keep mobile devices stable.
  5. 5Each decoded image is re-encoded to the target format and packaged into a single ZIP entry.
  6. 6Download the ZIP. Filenames keep their original base name with the new extension; EXIF metadata is preserved for JPG and WebP outputs.

Common use cases

  • Convert a folder of holiday HEIC photos to JPG so you can upload them to a service that does not accept HEIC
  • Bulk-export a wedding photographer’s iPhone burst-mode photos to PNG for a print-on-demand album service
  • Prepare a stack of product shots for a Shopify listing where the platform wants WebP for fast page loads
  • Convert school-event HEIC photos to JPG before sharing them in a parents WhatsApp group on Android phones
  • Migrate a personal photo archive from HEIC to lossless PNG for long-term storage on a NAS
  • Convert iPhone screenshots that auto-saved as HEIC back to JPG/PNG so they paste cleanly into a slide deck

FAQ

Which output formats can I pick?

JPG (default, 0.92 quality), PNG (lossless), or WebP (lossy or lossless). The same output format is applied to every input file in the batch.

How many photos can I convert at once?

Up to 200 MB of combined input, which typically fits 60-120 phone-shot HEIC photos. The processor keeps concurrency capped at three simultaneous decodes so mobile browsers stay stable.

Does it preserve EXIF metadata?

JPG output preserves the EXIF block including capture date and GPS coordinates. PNG output drops EXIF because the format does not have a well-defined home for it. WebP retains EXIF when present.

Will my photos be uploaded?

No. heic-to runs the libheif decoder compiled to WebAssembly entirely inside your browser tab. The ZIP is built in memory.

How is this different from the single-file HEIC to JPG tool?

The single-file tool processes one photo at a time. The batch converter accepts multiple files in one drop, decodes them in parallel with bounded concurrency, and packages every output into one ZIP — much faster for a folder of holiday photos.

Does it lose any quality?

Decode is lossless — libheif extracts the original pixel data. The single re-encode pass to JPG/WebP is lossy by definition (those are lossy formats), but at the default quality settings the result is visually indistinguishable from the source on a calibrated screen. Pick PNG output for fully lossless conversion.

How big can the batch be?

Up to 200 MB combined. That comfortably fits 60-120 typical phone-shot HEIC photos. The cap is on combined input size, not file count, so a folder of 500 small thumbnails is fine.

Will my photos upload anywhere?

No. heic-to runs the libheif decoder compiled to WebAssembly inside your browser tab. The conversion and the ZIP build both happen locally; the only network activity is the initial library download (cached after first run).

Are EXIF data and GPS coordinates preserved?

Yes for JPG and WebP outputs — the EXIF block is copied through unchanged. PNG does not have a standardised EXIF location, so capture date / camera info / GPS tags are dropped on PNG export. Strip EXIF deliberately with EXIF Data Remover if you want to share the converted files without the metadata.

How does it compare to converting one at a time with the single-file HEIC to JPG tool?

The decoder and quality settings are identical. The batch tool is faster for multiple files because it loads the libheif WebAssembly core once and reuses it across the queue, instead of paying the warm-up cost per file. For a folder of 50 photos the difference is roughly 30 seconds saved.

What if some files are not really HEIC?

The tool inspects the file type and skips anything that is not HEIC or HEIF. Skipped files are listed in the metrics so you can see exactly what was excluded and re-drop them through Bulk Image Converter (which accepts every common image format) instead.

Can I pick different output formats per file?

Not in this tool — every file is converted to the same target format. For a per-file workflow, drop one file at a time into the single-file HEIC to JPG / HEIC to PNG / HEIC to PDF tools.

Bulk Image Converter

Convert many images to a single chosen format in one drop. Mix JPG, PNG, WebP, BMP, TIFF, GIF, AVIF and HEIC inputs; the tool normalises every file in your browser and bundles the outputs into a ZIP.

Add Noise to Image

Add monochrome film grain, colour noise, or salt-and-pepper specks to any photo. Choose noise type and amount; the result is rendered into a real PNG file in your browser.

Censor / Blur Region

Permanently censor a rectangular region of any photo with pixelation, blur, or a solid black bar. Specify exact x/y/width/height coordinates and the censor is baked into a real PNG — no recoverable original.

Skew Image

Apply real horizontal and vertical shear to any photo, turning a rectangle into a parallelogram. Choose X-skew and Y-skew angles from −60° to +60°; the tool re-renders to a real PNG with transparent corners.

Pixel Sorter

Apply real pixel-sorting glitch art to any photo: sort each row or column by brightness, hue, or saturation, with a threshold to control which pixels get included. Real PNG output.

Recompress JPEG

Upload a JPEG and re-compress it at a lower quality to reduce file size. Automatically strips EXIF metadata.

Data URI Image Encoder

Encode any image (PNG, JPG, GIF, WebP, SVG, BMP, AVIF, ICO) as a data URI using base64 or URL encoding. Live re-encode when you switch encoding mode, copy with one click, or download the result as a .txt file. Perfect for inlining tiny icons in CSS, single-file HTML emails, or browser-extension manifests.

Compress Image

Reduce image file size while preserving visual quality.

View all Image Tools