Before you start
A batch conversion is only as good as its settings. Decide three things first: the output format, the quality, and what metadata should survive. Changing your mind after 200 files is cheap in a browser tool, but only if you kept the originals, so never delete the HEIC files until you have checked the results.
Pick the output format by destination
- JPG for anything that must open everywhere. MDN calls JPEG the most widely used lossy format for photographs.
- PNG if you want no extra loss after decoding. Files are often several times bigger than the HEIC.
- WebP or AVIF for web publishing. AVIF encoding is slow in this tool, so a large batch will take a while.
- TIFF for editing and print workflows.
- PDF to turn a folder of photos into a document. For more control over page size and order, use HEIC to PDF.
The batch converter handles all of these with shared settings across a whole selection or folder.
Limits that apply
From FromHEIC’s actual behaviour:
- up to 200 files per batch;
- up to 200 MB per file and 100 megapixels per image;
- files are held in memory only for as long as the page is open;
- phones and low-memory computers may fail sooner.
If you have 1,000 photos, split them into groups under the file limit rather than loading them all. Close other heavy tabs first, as the browser needs memory to decode large images.
Running the batch
- Open the batch converter and select the files, or choose a folder.
- Pick one format and set its quality. The tool applies the same settings to every file.
- Choose metadata options. Date, camera and settings can be kept with one checkbox. GPS is off unless you tick its own separate box. Be deliberate here: EXIF GPS tags hold latitude and longitude, so a batch with GPS on publishes where every photo was taken. See metadata and GPS.
- Start. Work happens in a Web Worker so the page stays usable.
- Download as a ZIP, or file by file.
You can cancel at any time. Cancelling does not throw away finished work; partial results stay available.
Handling failures
The converter gives a per-file failure report instead of aborting the whole run. Typical causes:
- The file is not really a HEIC (wrong extension). The tool detects type from content, so it will flag it. Use the file checker to confirm.
- The file is truncated, for instance from an interrupted copy. The health check detects data that extends past the end of the file.
- The codec inside is not HEVC. HEIF is a container that can hold other codecs, as described in HEIC vs HEIF.
- The image exceeds the pixel limit or the device ran out of memory.
For a failed file, try it alone, after closing other tabs, or on a computer. If the source file is damaged, no converter can recover missing data.
Verifying the output
The tool re-parses or decodes each output before it offers a download, which catches broken files but not every quality issue. Spot-check:
- Open a few results at full size and look at edges and gradients.
- Check orientation. Rotation stored in the HEIC is applied to the pixels and the output orientation is reset to normal, so photos should be upright everywhere. Details in orientation and colour.
- Compare file counts: number of inputs minus failures should equal the number of outputs.
After the batch
Keep the original HEIC files as your masters. A JPG made from a HEIC is a second lossy generation, so you cannot recover the original from it. Apple’s own notes on HEIF and HEVC media say that import over USB might convert photos to JPEG unless Keep Originals is set; if you want originals, set that before you import.
If your photos are going to a website or marketplace with a size cap, convert first and then follow reducing size. The libheif library that does the decoding supports far more than HEIC, but this site shows its HEIC and HEIF handling only.