Make Animated GIFs In OS X With A Right-click

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

Download a pre-built workflow or follow the steps below.


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 Servicegif maker 00
  3. Choose files or folders from the pull-down menu
  4. Choose from the other pull-down menugif maker 0
  5. Drag Get Selected Finder Items from the Actions menu to the workflow section on the right side of the windowgif maker 1
  6. Drag Run Shell Script from the Actions menu to the workflow section on the right side of the windowgif maker 2
  7. Choose as arguments from the pull-down menu in the Run Shell Script section of the workflowgif msker as arguments
  8. Enter this command into the field: /usr/local/bin/convert -delay 20 -loop 0 "$@" ~/Desktop/animated.gif
  9. Choose File > Save
  10. Enter Make Animated GIF as the namegif maker 4

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

gif maker 3

How To Use It

  1. Highlight some picture files, such as screenshots
  2. Right-click them
  3. Choose Services > Make Animated GIF from the context menu that appearsmake gif
  4. After executing, a file named animated.gif will appear on your desktopanimatd gif here

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.

49 thoughts on “Make Animated GIFs In OS X With A Right-click”

    1. Did you put a dash in front of delay? Here is the exact command if you want to copy and paste:

      /usr/local/bin/convert -delay 20 -loop 0 "$@" ~/Desktop/animated.gif

    1. Did the installation of imagemagick complete successfully? If it’s the first time installing homebrew, you should run homebrew doctor to verify you can install things properly.

  1. Just wanna tell for anyone having trouble to get this to work using macports. For me it was located in: /opt/local/bin/convert
    Im using OSX 10.11

    Hope that helps.

  2. I get this error:

    convert: no decode delegate for this image format `WORKFLOW’ @ error/constitute.c/ReadImage/501.
    convert: no images defined `/Users/ebhubbuch/Desktop/animated.gif’ @ error/convert.c/ConvertImageCommand/3241.

    1. This probably has something to do with a missing library and/or the filetype you are trying to convert. How did you go about installing imagemagick?

      You could try first using a different image format.

        1. Try taking some screenshots with your Mac and creating it using that. I know for sure it works for .png screenshots, so that should tell you if it is imagemagick or the files you are working with.

      1. I have noticed an issue when using it, its doubling the layers in the GIFs. For example when using 3 files it repeats the sequence twice, with 6 layers total?

        So each GIF is twice the filesize it needs to be?

        1. Strange. What you change the -loop to 1? There’s not really to many options in the command itself…

          1. Hm yeah I was thinking maybe it was doing something with the infinite loop but I guess not. I never actually opened the GIFs afterwords (just used them for whatever I made it for). Let me know if you figure out why it is like that.

    1. Strange…I have never seen that. There might be some flag to pass to the command, but the imagemagick options are extensive…

  3. Is there a way to edit the Code, that i am able to generate more than one Gif that will be overwritten by the next? For example there will be animatied.gif and then animated_01.gif ??

    1. Haha so do I! I just referenced my own post on a new computer I set up because I missed this functionality. Thanks for your post!

  4. Hey Jacob,

    super great tool! This function is awesome! I just wonder if this also works with Photoshop instead imagemagick? Cause I try to build up a fast workflow for creating Web-Banner and so the file size needs to be as small as possible.

    Anyway, thanks for sharing this! It’s great 🙂

    1. imagemagick is a commandline tool so it’s perfect for this. I think Photoshop has some stuff and probably some AppleScript, but nothing I’d be interested in messing with.

  5. This is an awesome idea, but it isn’t yet working for me. I installed imagemagick successfully with homebrew, followed the instructions for creating the workflow and tried to create a gif out of some .png images. When I open the animated.gif file, I can see that all of the images are in there, but there is no animation. Has anyone else encountered this problem? If so I would be very grateful for your insight on how to fix it!

  6. Hi Jacob,

    I’m using /usr/local/bin/convert -delay 20 -loop 5 “$@” ~/Desktop/animated.gif

    I was able to get the gif to play by single clicking on the animated.gif file, then hitting the space bar. When I try double clicking to open the file, there is no animation. If this is not an immediately obvious problem that you’ve seen before, my current solution is sufficient for my needs. Thank you for creating and sharing this! Also thanks for being so quick to respond!

    1. CG, I’m not on a Mac anymore but I remember one of the default programs won’t show an animated gif even if it’s working. Try opening it in Chrome or Firefox (File…Open… Navigate to the file).

      If it works in Preview (hitting the spacebar), it’s probably working. Try downloading some other gif off the net and double-clicking it to see if you have the same issue. I suspect it’s the program trying to open it, not the file.

  7. I can’t get the image to download: It says:
    The action “Run Shell Script” encountered an error: “convert: unable to open image ‘/Users/wolfdahnert/Desktop/image%201.png’: No such file or directory @ error /blob.c/OpenBlob/3487.
    and so forth

  8. Thanks for this! I installed ImageMagick using Macports, and had to change the /usr/local/bin/convert path to /opt/local/bin/convert. I bring this up because those who use Macports will probably also initially get this error: ‘The action “Run Shell Script” encountered an error: “-: /usr/local/bin/convert: No such file or directory”’
    Again, thank you!

      1. Jacob, at my suggestions, my son, Chris, updated your workflow with a directory path that looks in both places for “convert” – I can send you the file, but his email body ends with a diff. I tested (briefly) on my Mac & it worked. Might help some of your newbie users (like me).

        One solution is to append both /opt/local/bin and /usr/local/bin to the PATH variable and then run convert without hardcoding its path. That way if the convert binary is in any of the standard bin paths OR /opt/local/bin OR /usr/local/bin it will be found.

        I’ve attached the modified workflow package, and here is a diff of the change:

        — document_original.wflow 2018-08-17 15:48:45.000000000 -0600
        +++ document.wflow 2018-08-17 16:04:23.000000000 -0600
        @@ -128,8 +128,10 @@

        – /opt/local/bin/convert -delay 20 -loop 0 “$@” ~/Desktop/animated_looping.gif

        + PATH=$PATH:/opt/local/bin:/usr/local/bin
        + convert -delay 20 -loop 0 “$@” ~/Desktop/animated_looping.gif


        1. It looks like the comment form ate the XML tags in the diff above, but the key thing is to replace this line in the Automator workflow:

          /usr/local/bin/convert -delay 20 -loop 0 “$@” ~/Desktop/animated.gif

          With these lines:

          convert -delay 20 -loop 0 “$@” ~/Desktop/animated_looping.gif

          1. You’re welcome! But note that ‘which’ will only search in the current PATH, so it would only help if you first modify the PATH and need the full path to the command for some reason.

Leave a Reply