Convert Multiple HEIC to JPG
Convert multiple HEIC to JPG in one run: this free bulk HEIC to JPG converter takes up to 50 iPhone photos at a time, turns every one into a full-resolution JPG on your own device, and hands the lot back as a zip. Nothing is uploaded and there is nothing to sign up for.
Drop your HEIC photos here to convert them all to JPG
HEIC or HEIF. Up to 16 MB per file, up to 50 at a time, converted on your device and never uploaded.
A Whole Camera Roll,
One Press.
You plug the phone in, copy the holiday across, and get a folder of three hundred files called IMG_something.HEIC that your laptop draws as blank squares. Converting them one at a time is not hard, it is three hundred rounds of the same four clicks, and somewhere around the fortieth you stop checking the results. Drop the folder here instead. You pick the quality once, the queue works through the photos in order, and every one comes back with its own row, its own size and its own way to download it.
What people usually do with the batch next
Converting a folder is rarely the last step. These pick up where this page leaves off, and every one of them takes the whole batch.
Tools that pair well with this one
All free, all in your browser, no signup.
How to convert multiple HEIC to JPG
Three steps, no account, up to 50 photos a run.
Select all your HEIC photos
Drop a folder's worth onto the box, or use the picker and select as many as you need, up to 50. They stay on your device.
Check the quality, once
JPG is already selected and the quality is set to 75%. Leave it, or change it, and the setting applies to the whole queue.
Run it and download the zip
Watch each photo finish on its own row, then take the whole batch as one archive with the original names.
The whole point
A batch HEIC to JPG converter applies one setting to every photo
This is the difference between a bulk tool and the same tool run fifty times. You make the decision once, it is the same decision for every photo, and the results are consistent enough to hand to somebody else without checking each one.
- One quality across the queue: The JPG quality you pick applies to all of them. 75% is where a photo keeps its detail and the file stays reasonable; take it to 100% for a batch you will edit or print, and expect the files to grow accordingly.
- A subset, if you want one: Tick individual rows and the run touches only those. Tick none and it touches everything, which is what somebody who never noticed the checkboxes expects. It is also how you give the two portraits a higher quality than the forty screenshots of a group chat.
- Progress you can plan around: Each row says what it is doing, the progress bar counts '12 of 40', and once two photos have finished there is an estimate of how long the rest will take. It is built from the photos that have actually finished, not from a guess, which is why it does not appear until there is something to build it from.
- A way out: Stop is on the same button. It finishes the photo it is on and stops, and nothing that finished is lost. A batch of fifty should never be a commitment you can only escape by closing the tab.
The first photo in a batch takes a few seconds longer than the rest, because it is the one that downloads the two megabyte decoder. That cost is paid once per batch rather than once per photo, which is the arithmetic that makes a browser-side batch faster than an upload-based one from about the fifth file onward.
HEIC to JPG with multiple files: what one bad photo does to the other 49
Nothing. That is the answer, and it is the thing to check on any batch tool before you trust it with a folder, because the cheapest way to build one is to convert the files in one go and fail the lot when one of them is odd.
Camera rolls are full of odd files. A photo that stopped copying halfway still ends in .heic and has nothing readable inside it. A file some tool renamed from .jpg to .heic along the way is a JPG in disguise, and a HEIC decoder cannot read a JPG. A panorama or a stitched shot can be over the 50 megapixel ceiling. Each of those settles on its own row: the first two fail with a reason and a filename, the oversized one is declined with the number that stopped it, and the queue keeps going past all three. Rename the disguised one back to .jpg and it passes straight through on the next run, untouched.
Mixed folders are fine too, and they are the normal case rather than the edge one. AirDrop converts some photos and not others, a Windows import with the wrong setting leaves HEICs next to JPEGs, and a shared album lands you a few PNG screenshots in the middle. Drop the whole thing in. HEICs are converted, JPGs pass through with nothing re-encoded, and PNGs become JPGs like everything else.
The one thing a mixed folder can lose is transparency, and the tool says so before you run rather than after. A PNG with a transparent background cannot become a JPG without something being painted behind it, so if the queue holds one, a note above the button tells you it will be flattened onto white. On a camera roll that is usually a screenshot nobody cares about, and the note is there for the day it is a logo.
HEIC to JPG for 50 images, 100 images, or the whole camera roll
50 photos a run. That is where a queue stops being something you can scan, not where the tool gives up, and the reasoning is worth stating because most converters with a cap will not tell you which kind theirs is.
The photos are decoded one after another rather than all at once, on purpose. A HEIC has to be unpacked to a full bitmap before it can be re-encoded, and a bitmap is four bytes a pixel: a 12 megapixel photo is about 48 MB in memory and a 48 megapixel shot from a recent Pro is about 192 MB. Ten of those in flight together is a browser tab that gets killed with no warning and no error. One at a time, the peak is one photo no matter how long the queue is, and the progress is honest because '7 of 40' means one photo is genuinely being worked on.
How long it takes: roughly a second per twelve megapixel photo on a laptop once the decoder has loaded, so a run of 50 is a minute or so. A phone is slower, because the same work is being done by a smaller chip, and it still finishes. 100 images is two runs. The tool keeps nothing between them and asks nothing at the start of one, so the second run costs a drag and a click.
Where we would rather say so: a thousand photos is twenty runs, and at that point a desktop tool earns its place. On a Mac, the Photos app will export a whole library as JPEG in one go. On Windows there is no built-in batch route for HEIC, which is most of why this page exists, and twenty runs of fifty is still faster than the alternative most people find, which is opening each one in an app that asks for money on the third.
Where the folder comes from
Bulk convert iPhone photos to JPG: how the batch got onto your computer
The way the photos left the phone decides whether they arrived as HEIC at all, so it is worth knowing which route you took before you convert three hundred files that were already JPEGs.
- Cable import to Windows or a Mac: This is the route that produces the classic folder of HEICs. The phone has a setting (Settings, Photos, Transfer to Mac or PC) that converts on the way across when it is set to Automatic; if your folder is full of .heic files, it was set to Keep Originals. That is not a mistake, it is the higher-quality choice, and it is the one this page is for.
- AirDrop to a Mac: Keeps HEIC. A Mac opens them natively, so you may not notice until you try to attach one to something, or hand the folder to a Windows machine. Drop the folder here from the Mac and the JPGs come back the same way.
- Downloading from iCloud.com: The download asks whether you want Unmodified Originals or Most Compatible. The first hands you HEICs, the second hands you JPEGs and makes this page unnecessary. If you already picked the first, this is faster than downloading again.
- Straight from the phone: Open this page in Safari on the iPhone, tap the button, pick Photo Library, and select up to 50 at once. The JPGs save back to the camera roll. Slower than a laptop, and it means the whole job happens without a computer.
Changing the camera format on the phone stops it making more HEICs and does nothing to the ones you already have. How to change it, and what it costs in storage, is on the single-photo page. This page is for the folder you already have.
The part that matters
Bulk HEIC to JPG with no upload, and why that matters more for fifty photos than for one
On a single photo, not uploading is a privacy point. On a batch it is also the difference between waiting for a progress bar and watching the first JPG appear in a second.
Do the arithmetic on an upload-based bulk converter. Fifty photos at two and a half megabytes each is 125 MB that has to go up your connection before anything comes back, and home connections upload far slower than they download: at a typical ten to twenty megabits that is one to two minutes of pure waiting, then a server queue behind other people's batches, then 125 MB or more coming back down. Here, the only thing downloaded is the two megabyte decoder, once, and the first JPG exists as soon as the first photo has been read off your own disk.
- The batch never leaves your machine: Every photo is decoded and re-encoded inside your tab. A camera roll is faces, your home and your kids, and it is the most personal folder most people own. There is no server holding it to make a promise about, which is a stronger guarantee than any privacy policy, including ours.
- It works offline after the first photo: Once the decoder is cached for the session, the connection is not used again. A batch of fifty on a train finishes whether or not the Wi-Fi does.
- Nothing to delete afterwards: Upload-based tools keep your files for an hour, or a day, or until a cron job gets to them, and you take their word for which. There is nothing here to expire, because nothing was ever received.
The practical proof, if you want it: load this page, drop your photos, turn off your network, and press convert. The batch still runs.
Download the batch as one zip, and what size to expect
One button on the results screen packs everything into a single archive with the original names. Every row also has its own download, for the three photos out of fifty that were the actual point.
The zip is named after the tool and the count, and inside it every photo has the name it arrived with and a new extension: IMG_4021.HEIC becomes IMG_4021.jpg. A folder that was in date order by name is still in date order by name, which matters when the next thing you do is drop it into a slideshow or an album.
How big it will be goes both ways, and it depends on the quality you picked for the batch. At the default 75%, a 2.9 MB twelve megapixel HEIC came back as a 1.8 MB JPG, so a zip of fifty ordinary photos usually comes out a little smaller than the folder you started with. At 100% the same photo came back at 9.4 MB, so fifty of them is roughly 450 MB of JPG. The results screen shows the total before you download, which is the moment to decide whether 100% was really the setting you wanted.
If the JPGs have to fit a size limit, a form that takes 2 MB a file or an email that takes 25 MB in total, converting is only half the job. The bulk compressor takes the same fifty files and brings every one under a number you type, and it is the link most people on this page click next.
Built for the folder, not the photo.
Everything here is written for a batch. One photo is just the smallest batch there is.
Up to 50 iPhone photos in one run
Drop a folder's worth in, or keep adding once the queue is open. Each photo can be up to 16 MB and 50 megapixels, so the 48 megapixel shots off a recent Pro are the normal case rather than the exception.
One quality for the whole roll
Pick a JPG quality once and it applies to every photo in the queue. It starts at 75%, which is right for anything going to a laptop, a form or a printer. Tick a few rows and the run touches just those instead.
A broken photo fails on its own
A half-transferred file, or something renamed to .heic that never was one, fails on its own row with a reason, and the other forty-nine carry on. You are told which one, by name, so you can go and look at it.
Stop when you have enough
A batch of fifty takes about a minute. Press stop and it finishes the photo it is on, then stops there. Everything already converted stays on its row, downloadable, and the rest stays queued.
One zip, the same names
One button packs the whole batch into a zip. IMG_4021.HEIC comes back as IMG_4021.jpg, so a folder that was sorted by name is still sorted by name. Or save individual photos from their rows if only three of the fifty were the point.
Fifty photos, still nothing uploaded
The decoder runs inside your browser, so the batch never leaves the machine it is on. There is no upload bar to wait through, no server queue, and no copy of a camera roll anywhere for us to lose.
Bulk HEIC to JPG: common questions
How a batch runs, and where it stops.
Drop all of them onto the box above, or open the picker and select up to 50. They arrive as a queue of rows, JPG is already selected, and you press the button once for the whole batch.
You can keep adding photos after the queue is open, and remove any you changed your mind about. Nothing runs until you tell it to, and the JPGs come back individually or as one zip.
Up to 50, at up to 16 MB and 50 megapixels each. Past 50 the list stops being something you can actually read, which is the limit we hit long before the browser does.
There is no cap on how many batches you run. Nothing is counted and nothing is stored between runs, so 100 photos is two runs and a thousand is twenty, with nothing asked of you in between.
Yes. Select everything in the folder and drop it on the box, or use the picker and select all. If the folder holds more than 50, the box says so and asks for 50 at a time rather than quietly taking the first 50, so a folder of 80 is one run of 50 and one of 30.
The zip you get back keeps every filename, so it drops back into the folder structure you took it from.
Mix them. Each file is read for what it actually is, not what its name says. HEICs and HEIFs are converted, anything already a JPG is passed through untouched and marked as such, and PNGs and WebPs become JPGs like the rest.
The one thing to know: a transparent PNG cannot stay transparent as a JPG, so if the queue holds one you are told before the run that it will be flattened onto white.
That row is marked failed with a reason, and the rest of the queue keeps going. A file that stopped copying halfway, one that is over the size or pixel ceiling, or a .heic that has no HEIC inside it stops itself and nothing else.
If it came off an iPhone, the usual fix is to copy that one file across again: a transfer that stops early leaves a file that still ends in .heic. Then remove the bad row, or just download the ones that worked.
Yes. Stop is on the same button as convert. It lets the photo in progress finish, then stops, and every photo already converted stays on its row with its own download. The ones that never started stay queued, so you can change the quality and run those on their own.
Both are there. The results screen has one button that packs the whole batch into a zip, with every photo keeping its original name and a .jpg extension, and every row also has its own download for when only a few of them were the point.
Expect the zip to be a little smaller than the folder went in at the default 75%, and about three times bigger at 100%. The total is shown before you download it.
No, and on a batch this is the part that changes most. Most bulk converters need your photos on their servers to do the work, which is why they show you an upload bar and why a batch of fifty takes minutes before the first result. This one decodes every photo inside your own browser, so nothing is transmitted and there is nothing on anyone's server to delete afterwards.
The only download is the decoder itself, about two megabytes, once per session. After that the batch runs with the network off.
Free, and no. No signup, no watermark on any photo, no daily limit, and no paid tier that unlocks more files, full resolution or a higher quality. Every setting is available on every run, including the first.
That is possible because your own machine does the converting. Fifty photos cost us exactly what one does, which is nothing, so there is nothing to recover and nothing to gate.
Convert the whole roll now
Drop up to 50 HEIC photos, check the quality once, take the zip. Nothing gets uploaded and nothing gets counted.



