Bulk HEIC to JPG Converter

A folder of 200 iPhone photos should not take an evening. Do 100 at a time, locally.

No upload ZIP download Preserves filenames

Drop your HEIC or HEIF files here

or choose files — up to 100 at once, 100 MB each

No upload. Files are processed in your browser.

92%

Files never leave your device · EXIF and GPS removed

Works on Chrome, Safari, Firefox and Edge · No installation

Short answer

Bulk conversion handles a whole folder of iPhone photos at once: up to 100 files per batch, downloaded as a single ZIP with the original filenames preserved.

Most online converters put a five-file cap on free users, then ask for a subscription the moment you come back from a trip. This one processes up to 100 files per batch and lets you download everything as a single ZIP.

Because decoding happens on your machine, there is no upload queue and no server-side file size limit — the practical limit is your device’s memory.

Last reviewed November 2026

Built for folders, not single files

Drag a folder

Select the whole DCIM folder; every HEIC inside is queued.

One ZIP out

Keep original filenames instead of downloading 100 separate files.

No queue, no account

No email capture, no daily limit, no watermark.

How to convert HEIC → JPG

  1. Select up to 100 photos. Desktop browsers handle the largest batches; phones work best under 30.
  2. Set one quality for all. The settings apply to the whole batch.
  3. Download the ZIP. Same filenames, .jpg extension, metadata removed.

How long a batch actually takes

Batch sizeApproximate timeWorks well on
10 photos≈3 secondsAny device, including older phones
30 photos≈8 secondsPhones and tablets with 4 GB or more
100 photos≈25–30 secondsDesktop browsers
300 photosThree batches, ≈90 seconds totalDesktop, with a break between batches

Why the queue runs one photo at a time

It looks like it should be faster with more parallelism, and it would not be. A 12 MP photo is 4032 × 3024 pixels, which is about 46 MB once decoded; the JS engine holds that, the canvas copy, and the encoded output at the same time. Two at once doubles the peak, four at once quadruples it, and mobile Safari starts killing tabs somewhere around a few hundred megabytes. Decoding strictly one at a time keeps the peak at roughly one photo regardless of batch size — which is why a 100-file batch does not use twenty times the memory of a five-file batch.

The converter releases each canvas as soon as its blob is produced, so the only thing that accumulates is the list of finished files. Time, not memory, is the thing that grows with batch size.

The ZIP is assembled in the browser and stored without compression — JPGs are already compressed, so running deflate over them would cost several seconds and save almost nothing. The download is roughly the sum of the JPG sizes, plus a few bytes per file for the archive index.

Filenames are preserved with the extension swapped: `IMG_4821.HEIC` becomes `IMG_4821.jpg`. If two files in the batch share a name — common when you merge two camera folders — the later one gets a numeric suffix rather than overwriting the earlier.

If a large batch goes wrong

Nearly every batch failure is memory, not the converter. The browser kills the tab rather than throwing a friendly error.

SymptomWhat causes itWhat to do
The tab reloads or goes blank halfway throughMobile Safari or Chrome ran out of memory and discarded the pageHalve the batch. On an iPhone, stay under 30 files
Progress stalls on one file and never movesThat photo is much larger than the rest (48 MP, panorama) and is still decodingWait, or remove it and convert it alone
The ZIP is smaller than expectedOnly finished files are included — anything that errored is skippedCheck the file list for red entries before downloading
Two photos ended up as IMG_0001 and IMG_0001-2Both source files had the same nameExpected behaviour; the suffix prevents an overwrite
Download did nothingThe browser blocked a second automatic downloadAllow multiple downloads for this site, or use the individual download links
Quality looks different from a single-file conversionOne setting applies to the whole batchRun the batch again with a different setting rather than mixing

How many photos per batch, realistically

The tool accepts 100 at a time. What your device can finish is a different number.

DeviceComfortable batchWhy
Desktop, 16 GB RAM100The documented limit; time is the only constraint
Older laptop, 8 GB RAM50–100Workable, but keep other tabs closed
iPhone or iPad20–30Mobile browsers cap memory per tab aggressively
Android mid-range30–50Depends on how much RAM the browser is allowed
Anything, with a folder of 300+Run batches back to backThere is no daily cap — just do not stack them in one queue

If a batch fails, the finished files are still in the list. Download those before retrying the rest.

Questions

How many photos can I convert at once?

100 per batch. If you have more, run a second batch — there is no daily cap.

Will my phone run out of memory?

Possibly. Mobile browsers have tighter memory limits; keep batches under 30 on phones.

Are filenames preserved?

Yes, only the extension changes. IMG_4821.HEIC becomes IMG_4821.jpg.

Is there a daily limit on bulk conversion?

No. Batches are limited to 100 files, but you can run as many batches as you want — there is no account, no quota and no waiting period.

Does the ZIP compress the images further?

No. The archive is stored without compression because JPG data is already compressed; deflating it would add time and save almost nothing.

Can I keep the original folder structure?

Not currently. The ZIP is flat and preserves filenames only, so two folders both containing IMG_0001 will end up as IMG_0001.jpg and IMG_0001-2.jpg.