What is the best way to bulk convert heic to png on my Mac?

I have roughly 1200 .heic images taken from my iPhone 15 Pro. I need to convert them to png so they can viewed and edited on my wife's Windows PC. I did use Preview for this purpose in the past with the export option (one by one). My question is how to bulk convert heic to png on my Mac? It could be so boring to convert 1200 images one by one.


Currently, I am on a MacBook Air M1 2020 running macOS Ventura.

MacBook Air (M1, 2020)

Posted on Dec 8, 2023 12:58 AM

Reply
Question marked as ⚠️ Top-ranking reply

Posted on Dec 12, 2023 2:33 AM

Oh man, converting 1200 images one by one? Ain't nobody got time for that! If you want to convert HEIC files to PNG on your Mac in batch, you can use the command line. I'll give you the command line method, which is pretty efficient and doesn't require additional software.


Here’s a step-by-step guide to doing it via Terminal:

  • Step 1. Open Terminal: You can find it in the Utilities folder within your Applications folder or search for it using Spotlight.


  • Step 2. Navigate to the Folder: Use the cd command to navigate to the folder where your HEIC files are stored. For example:
cd /path/to/your/heic/images


  • Step 3. Run the Conversion Command: Use the following command to convert all HEIC files in the folder to PNG:
mogrify -format png *.HEIC



NOTE: This command requires ImageMagick, a powerful image manipulation tool that you can install via Homebrew with the command brew install imagemagick if you don’t have it already.



If Command Line isn't doing the trick for you, there are some alternative routes you can take:


Third-Party Apps: There are a bunch of apps out there designed for batch image conversion. You mentioned you're okay with recommendations, so "TunesBro HEIC Converter" is a popular one that's user-friendly. Another one is "Permute" - it's not free, but it's pretty powerful for media conversion tasks.


Source: https://www.uubyte.com/blog/batch-convert-heic-to-png-on-mac/



2. Online Services: If you don’t mind uploading your photos to a web service, websites like CloudConvert or HEICtoJPEG can bulk convert your images. Just be mindful of privacy and terms of service, especially with personal photos.



Always make sure you have a backup before you start the process, just in case something goes awry. And if you go for an app or online service, check out some reviews first to make sure it’s legit and suits your needs.

35 replies
Sort By: 
Question marked as ⚠️ Top-ranking reply

Dec 12, 2023 2:33 AM in response to Darrinschwartz

Oh man, converting 1200 images one by one? Ain't nobody got time for that! If you want to convert HEIC files to PNG on your Mac in batch, you can use the command line. I'll give you the command line method, which is pretty efficient and doesn't require additional software.


Here’s a step-by-step guide to doing it via Terminal:

  • Step 1. Open Terminal: You can find it in the Utilities folder within your Applications folder or search for it using Spotlight.


  • Step 2. Navigate to the Folder: Use the cd command to navigate to the folder where your HEIC files are stored. For example:
cd /path/to/your/heic/images


  • Step 3. Run the Conversion Command: Use the following command to convert all HEIC files in the folder to PNG:
mogrify -format png *.HEIC



NOTE: This command requires ImageMagick, a powerful image manipulation tool that you can install via Homebrew with the command brew install imagemagick if you don’t have it already.



If Command Line isn't doing the trick for you, there are some alternative routes you can take:


Third-Party Apps: There are a bunch of apps out there designed for batch image conversion. You mentioned you're okay with recommendations, so "TunesBro HEIC Converter" is a popular one that's user-friendly. Another one is "Permute" - it's not free, but it's pretty powerful for media conversion tasks.


Source: https://www.uubyte.com/blog/batch-convert-heic-to-png-on-mac/



2. Online Services: If you don’t mind uploading your photos to a web service, websites like CloudConvert or HEICtoJPEG can bulk convert your images. Just be mindful of privacy and terms of service, especially with personal photos.



Always make sure you have a backup before you start the process, just in case something goes awry. And if you go for an app or online service, check out some reviews first to make sure it’s legit and suits your needs.

Reply

Dec 11, 2023 5:15 AM in response to Darrinschwartz

Darrinschwartz wrote:

The image size of converted jpg are too big. Anyway to reduce the file size? It is not a good option to be inserted into a web page.

Too big in what way? JPEG files are a relic of another age. They use extreme, lossy compression to have a file size that is as small as possible so that the web looks good on your 9600 baud dial-up modem.


Fast forward to 2023 and what's the point? The CSS files alone on each web page are bigger than the images from 1997. The javascript files are even worse.


And JPEG files are only small on disk or during transfer. Once you open them, they will take up the same amount of RAM as any other image of the same dimensions. Luckily, JPEG files are limited to 65536 pixels or lines in a dimension. I have run into the limit in the past. The JPEG file size was tiny, but I didn't have enough RAM to open the image.


These days, PNGs are a better choice for web images because they support transparency. But you will want to reduce the size of the image to something reasonable. At one point, I had posted a tip on how to use the built-in "sips" tool to convert these files. But the Quick Action is much easier. However, if you want to also resize the dimensions of the images, then you might want to look into using "sips" on the command line.

Reply

Dec 11, 2023 11:39 AM in response to etresoft

And it's an absolute trash of a format. No transparency. Limited dimensions. Funky, limited colourspace. Lossy with horrible artifacts. It is, in all respects, the image format that was made for the web.


Gee, whatever you do don't tell all those engineers who work for Canon, Nikon, Panasonic, Sony et al who make cameras and are addicted to Jpegs.


:)


Reply

Dec 8, 2023 11:41 AM in response to VikingOSX

The following Quick Action Shortcut will prompt the user with a list from which to choose the converted image type. I removed heic, and other formats from this list that did not work. Default is JPG.





The side effect of using this list approach is the loss of the Quality option on the Convert action. I was able to select random RAW images (DNG, RW2, NEF, etc.) and convert to image types from this list. If a RAW format is not supported by Apple, then the conversion will still occur to an image you cannot view in Finder, Quick Look, or Preview. Just tried this with a Nikon Z8 NEF with the preceding predictable result.

Reply

Dec 11, 2023 2:38 AM in response to Darrinschwartz

There are any number of ways to reduce the file size of a JPG - or more technically, to reduce the quality of the file, and so reduce the file size.


For instance: In Preview, open a jpeg file and go File -> Export


Select JPEG from the format menu and see what happens when you use the Quality slider.



Reply

Dec 8, 2023 11:02 AM in response to dialabrain

Probably by inserting some action before the convert that pops a user image type selector. Easiest done is in a Run AppleScript with a choose list dialog and then pass that image selection on to the Convert action as a variable to be selected instead of the hardcoded image type (e.g. JPEG). I willl take a closer look at this later as I have some more yard work to do this afternoon before rain.

Reply

Dec 11, 2023 6:12 AM in response to etresoft

etresoft wrote:

JPEG files are a relic of another age.

Since its introduction in 1992, JPEG has been the most widely used image compression standard in the world, and the most widely used digital image format, with several billion JPEG images produced every day as of 2015.


From: https://en.wikipedia.org/wiki/JPEG

Reply

Dec 11, 2023 11:11 AM in response to VikingOSX

VikingOSX wrote:

I thought briefly about writing a short Zsh script here to do the HEIC to PNG conversion with sips and bailed on that idea for the handy Convert Image QA.

I had even constructed a find statement that would convert them. Couldn't figure out how to get it to support paths with spaces. Too many quotes being used for other things. Personally, I'd never really use find or even zsh. Why people waste their time not writing Perl scripts, I'll never understand.


find files -iname "*.heic" -exec sh -c 'base=`basename "{}" .heic`; sips -s format png {} --out /tmp/png/$base.png' \;


It's a bit of a catch-22. Quick Action is the clear winner here. But once someone wants just a little bit more than what Apple provides, they pretty much have to code it themselves. Modern Apple don't do no "options".

Reply

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

What is the best way to bulk convert heic to png on my Mac?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.