How to Create an OS X Iconset


I'm still a bit of a novice with the Mac, and while automater is useful the default icons leave something to be desired. I found a page which helps in replacing the icons at http://applehelpwriter.com/2012/12/16/make-your-own-icns-icons-for-free/

The long and short of it is:

  1. Fill a folder with multiple sizes of the same image.
  2. Build the icns using iconutil.
  3. Replace the icns file under Contents/Resources in the app folder.
  4. Restart the Dock and Finder if necessary.

Step by Step

We'll start with a PNG that is 300x300 called myimage.png, place it on the Desktop and open a terminal window. I'm assuming you have ImageMagick installed for the convert utility.

  1. cd ~/Desktop
  2. mkdir myimage.iconset
  3. cd myimage.iconset
  4. convert -resize 16x16 ../myimage.png icon_16x16.png
  5. convert -resize 32x32 ../myimage.png icon_16x16@2x.png
  6. convert -resize 32x32 ../myimage.png icon_32x32.png
  7. convert -resize 64x64 ../myimage.png icon_32x32@2x.png
  8. convert -resize 128x128 ../myimage.png icon_128x128.png
  9. convert -resize 256x256 ../myimage.png icon_128x128@2x.png
  10. convert -resize 256x256 ../myimage.png icon_256x256.png
  11. convert -resize 512x512 ../myimage.png icon_256x256@2x.png
  12. convert -resize 512x512 ../myimage.png icon_512x512.png
  13. convert -resize 1024x1024 ../myimage.png icon_512x512@2x.png
  14. cd ..
  15. iconutil -c icns myimage.iconset
  16. Navigate to your application in Finder.
  17. Right click or Control click and select Show Package Contents.
  18. Select Contents->Resources
  19. Find the icns file, and back it up.
  20. Replace the icns file with yours be careful to preserve the case of the name.
  21. Restart Finder and the Dock by logging out and coming back in or in a terminal:
    killall Dock; killall Finder

If you'd prefer not to back up the icns file you could keep it and edit Info.plist under Contents. You still need to put your icns file in the Resources subdirectory. Change the value of the key "Icon file" to "myimage" without the quotes, note that you shouldn't include the extension.

Saturday, 13 April 2024   Michael J. Chappell   Contact me at: mcsuper5@freeshell.org Made with Emacs