When I do a blog post about an application, I often like to include a high resolution version of the application icon. There’s a trick to getting that nice big icon. Simply:
- Open your Applications folder
- Right click on the Application for which you want the icon, and select Open Package Contents. Applications are really folders not files and they’re filled with goodies
- Now drill down into Contents, then Resources
- Now simply comb through the hundreds of files inside Resources for all the ones called .icns (1Password for example has 333 files to comb through)
- Look at the .icns files and decide which one is the one you like, and COPY it somewhere else.
- Next right click on the COPIED .icns file and choose open in Preview. In there you’ll find a bunch of different states for the icon, like one that’s darker which is what you see when you depress the icon. The good one that you want is always the first one.
- Choose Save As and use the pulldown to change the format to PNG
See? Easy peasy! Perhaps just a tiny bit tedious though if you have to do it more than once!
When I was working on a video for Don where I needed to pull all 6 application icons into ScreenFlow for the Macphun Creative Kit 2016 show, I got REALLY tired of doing this, so I asked Dorothy (aka @maclurker) if she could write a script for me to do this.
She loves writing scripts and putting up with my abuse while doing it so she jumped at the chance. After weeks of testing and me making her change things, we’re now ready to release the tool Dorothy has named ExtractIcons. We would like it if you pronounced it like the name of a new Transformer series: “ExtractiCONNNNNS!”
In the shownotes you’ll find a link to download the zipped Automator Workflow and handy dandy Read Me file you won’t read. Double click to open the zip, then double click the .workflow that it extracts while completely ignoring the fine Read Me file. You will be queried whether to open in Automator or to simply install. Choose Install, and then click Done.
To run ExtractIcons! simply right click on any application and choose ExtractIcons from the Services menu. It will ask you for a folder in which you want the extracted icons dumped, and I HIGHLY suggest you create a folder just for this function. You might get lucky and choose an app with a single icon file like Alternote, but some of these may have a half dozen or more application files.
The script will then tell you to take a chill pill and NOT mess with the Finder until the script is finished. You”ll be revealed places you shouldn’t muck about in (like inside package contents) but at the end you’ll see the folder you designated pop to the foreground filled with at least one Application icon. You will have to fish through them to see which one you wanted but it’s not too much work to do that. If the application vendors had a standard naming convention Dorothy could have exposed the right one but their names are all over the map.
The icon pngs you’ll get are very high resolution – they can be 1024 square or even bigger. The next thing I often do is shrink them down by opening them in Preview and selecting Tools, Adjust Size. I wrote a little Automater service of my own as a companion that lets you right click on the new png and select ScaleImage and it queries you what size you want the file to be, and asks you if you want to append anything to the file name. It makes a copy of your file just in case, so the new file has the word “copy” in it PLUS whatever you append to the file name. I like putting something like _480px at the end so I can tell all my icons apart. You’re welcome to have a copy of this and change it up to the way you like it.
By the way it DID occur to me to include Scale Images inside ExtractIcons, but then it would scale all of the icons and I often change my mind as I’m messing with how it looks so it’s better as a standalone Service.
I put a link in the shownotes to my ScaleImages Automator script so you can have that one too. It’s nothing brilliant like what Dorothy did but I like it as an adjunct to ExtractIcons