Make Animated GIFs In OS X With A Right-click

Make Animated GIFs In OS X With A Right-click

UPDATE 2020-05-23: I updated the post with instructions and screenshots for newer versions of macOS.  The biggest thing to note is to remove the "Get selected Finder items" task.

Create animated GIFs from the OS X Finder in just seconds.  It only takes a few minutes to set up and will give you a “native” feeling without the need to install any additional software.  Plus, you never need to open an app to create the GIF, you can just highlight files > right-click > Make Animated GIF.

How To Set It Up


You will need a utility called convert, which is part of imagemagick.  The easiest way to install it is via Homebrew.  In short, you need to first have Homebrew installed via this command:

ruby -e "$(curl -fsSL"

Then, install the utility with this command:

brew install imagemagick

Set Up The Automator Workflow

1. Open Automator

2. Choose Service (or Quick Action on newer versions of macOS)

3. Choose files or folders from the pull-down menu

4. Choose from the other pull-down menu

5. Drag Run Shell Script from the Actions menu to the workflow section on the right side of the window

6. Choose as arguments from the pull-down menu in the Run Shell Script section of the workflow

7. Enter this command into the field: /usr/local/bin/convert -delay 20 -loop 0 "$@" ~/Desktop/animated.gif

8. Choose File > Save

9. Enter Make Animated GIF as the name

Here is what the entire workflow should look like when you are done.

Don't add that first "Get selected Finder Items"--this is just an old screenshot. See the one below.

How To Use It

1. Highlight some picture files, such as screenshots

2. Right-click them

3. Choose Services > Make Animated GIF (or Quick Action > Make Animated GIF) from the context menu that appears

4. After executing, a file named animated.gif will appear on your desktop

Customize Speed And Looping

There are plenty of options available, which can be seen by entering convert -help in Terminal.  But for the context of this post, I will just cover the two options I used:

  • -delay 20 is the time in hundredths of a second between frames.  Increase or decrease this as desired
  • -loop 0 makes the GIF loop endlessly.  Change the number to however many iterations you want.