Can I change the application icon of an Automator script?

Solution 1:

After the script has been created do the following :

  1. Find the source app with the icon you want

  2. Get Info of the source app (cmd-i)

  3. Click on the icon inside the source app's info window (Not the one in the big Preview section at the bottom, if you have one of those; the little one in the top-left corner.)

  4. Copy it (cmd-c)

  5. Get Info of the automator script (i.e., the destination app) (cmd-i)

  6. Click on the icon inside the destination app's info window

  7. Paste the icon from the clipboard (cmd-v)

This method works for every files in Mac OS X.

picture to illustrate instructions

Solution 2:

I found a hacky way to do it after you have created the applet

  • (Create your icns icon file - however you want)
  • Open Applications Folder
  • Right-click on automator script
  • Click on view package contents
  • Add your icon to resources folder
  • Rename it to AutomatorApplet.icns

I am sure there is a better way, but I figured out how to do it this way.

Solution 3:

You can also change the icon just as you would normally for any other folder or file in Mac OS X:

  1. Copy the image you want to use as your icon. Ideally it should be 512x512 already.
  2. Choose Get Info on the file/folder/app in Finder
  3. Click on the Icon and you'll notice a blue outline on the icon - now press Command-V or choose Paste from the Edit menu.

Example

(Screenshot taken from Super User question 37811)

Solution 4:

To complement the existing, helpful answers:

  • The accepted answer works in principle, but:

    • relies on extended attributes of the HFS+ filesystem, which are lost when copying the bundle to a filesystem that doesn't support them. For instance, you cannot store a custom icon in a Git repository.
    • the icon displayed by the bundle itself, such as when showing an alert, is still the original icon.
  • percent 20's answer is more comprehensive and portable in principle, but comes with two caveats:

    • Any changes to AutomatorApplet.icns are lost whenever you modify and re-save the bundle in Automator.
      Thus, for instance, you'd need a script to put the updated icons in place programmatically every time the bundle is saved.
    • As others have noted, there are icon caching issues, which can be tricky to resolve; as of OSX 10.10.4:
      • Even a reboot doesn't make the new icons appear in Finder (though it does appear in other contexts such as in the Dock), but there are two workarounds: either (a) move the bundle to a different folder, or (b) rename the bundle; given that reverting to the original path and name makes the problem reappear, you'd have to plan ahead: create your bundle in a different location or with a different name, then move / rename to the desired location / name.
      • Alternatively, you can use a tool such as OnyX and check IconServicesunder Cleaning > User to clear the cache.