Home > Documentation, Mac OS X, Scripting > Mining OS X for Apple’s artwork

Mining OS X for Apple’s artwork

When building a presentation in Keynote, I often use Apple’s icons and other images included in OS X to illustrate my slides. This is because Apple’s already done a lot of work creating high-res images for OS X and it’s often helpful to use Apple’s own artwork when illustrating how something works. However, this artwork can also be hard to find as it can be buried deep within applications and other resource files. To help me get this artwork all together in one place, I’ve developed a script to search OS X for icons and other relevant images in various file formats, copy them when found, then organize the copied artwork. For more information, see below the jump.

The artwork I’m looking for is usually stored in the following two locations:


It’s also usually in the following file formats:


With this in mind, I’ve developed the following script to search /Applications and /System/Library for icns, pdf and png files and copy them to a folder in /tmp.

Since it’s designed to dig around inside the /System directory, I recommend running this script without root privileges to avoid any potential issues. The vast majority of Apple’s artwork is available in locations where all user accounts have at least read-only access, so it should be able to do its work without needing root privileges.

# Create a /tmp/icons.XXXX directory to
# store the copied images and icon files
TMPDIR=`/usr/bin/mktemp -d /tmp/icons.XXXX`
# The function below uses the image file
# format specified by the "filetype" variable
# to copy the relevant image and icon files
# from /Applications and /System/Library
GetIcons () {
mkdir "$TMPDIR"/"$filetype"
mkdir "$TMPDIR"/"$filetype"/Applications
mkdir "$TMPDIR"/"$filetype"/System
echo "Copying $filetype files to $TMPDIR/$filetype"
find /Applications 2>/dev/null -iname "*.$filetype" -type f -print0 | xargs -0 -I '{}' cp "{}" $TMPDIR/$filetype/Applications 2>/dev/null
find /System/Library 2>/dev/null -iname "*.$filetype" -type f -print0 | xargs -0 -I '{}' cp "{}" $TMPDIR/$filetype/System 2>/dev/null
echo "All finished! Copied images and icon files are available in $TMPDIR"

view raw
hosted with ❤ by GitHub

Once the script has completed its run, it will notify you and display the location of the folder in /tmp with the copied artwork.

Screen Shot 2015 07 28 at 5 09 19 PM

The folder in /tmp will have the files sorted by file type, then by the location (Applications or System) from which the images were copied.

Screen Shot 2015 07 28 at 5 11 38 PM

Screen Shot 2015 07 28 at 5 12 22 PM

For those interested, the script is available on my GitHub repo:


  1. July 29, 2015 at 6:46 am

    You are forgetting the ArtFile. This contains a lot of stuff.

  2. themacmob
    July 29, 2015 at 7:53 pm

    Mc128k: are you referring to /System/Library/PrivateFrameworks/CoreUI.framework/Versions/A/Resources/ArtFile.bin

  3. July 31, 2015 at 11:59 pm

    There is an App named FileJuicer (shareware) that will parse out all readable file types from a selected path. The file types are put into individual directories for easy browsing. I usually drop the whole System and Applications folder in to harvest hidden PNGs, icns, m4vs, etc…

    also, don’t forget to visit Apple’s press site from time to time to grab new hero shots of their products in the original TIFF format. https://www.apple.com/pr/products/

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: