79

I'm looking for a free program that allows me to record my screen and save the 'video' as an animated GIF.

This will be useful when making instructions / steps to do something.

Requirements:

  • free (preferably open-source)
  • make a GIF that lasts for about 10 seconds
  • runs on Snow Leopard - 10.6.8 (if possible, Win7 as well :)
  • saves file locally - not uploaded automatically to a website

Note: I'm not looking for a program that converts images into an animated GIF, but more of a 'on-the-spot' video maker and converter (i.e., I want the program to make the video and make it as a GIF - to upload to websites etc.).

4

9 Answers 9

68

I personally use and recommend LICEcap.

  • Great interface: select a region of the screen and set the frame rate and destination for the gif.
  • No time limit on length of gif.
  • OS X and Windows (can use Wine for Linux).

LICEcap also allows some further gif customisation, including adding title frame with custom duration to the gif, setting a pause hotkey and repeat count (as opposed to the default infinite repeat).

Used for many of my answers across SE (example).

5
  • 4
    LICEcap is not cross-platform, it's just for Windows and Mac. On Linux, I use a custom script with Byzanz. It is usable, but LICEcap's UI looks slightly better (unfortunately it is not available on Linux, and a quick search for its alternatives on this site also points to Byzanz).
    – Rob W
    Commented Jun 17, 2014 at 19:44
  • @RobW You beat me to it :P Thanks for the links :) It does work fine in wine with a small quirk; there is no cursor recorded in the gif unless the lice cap window is focused (not usually the case).
    – gandalf3
    Commented Jun 17, 2014 at 19:44
  • 4
    licecap works fine on wine. Commented Jun 18, 2014 at 19:43
  • 1
    It rules! Amazing simple app, YAY, indeed!
    – brasofilo
    Commented Oct 1, 2014 at 0:05
  • This was a pleasing meta. Commented Apr 1, 2016 at 9:35
13

I was actually trying to solve this problem for myself today and found this nice little Github gist:

https://gist.github.com/dergachev/4627207

Uses Quicktime to save a video, ffmpeg to convert the video, and gifsicle to compress/clean the final gif.

It uses the command line, so it might not be great for your use case, but I suspect this could easily be put into an Automator workflow.

Installation:

brew install ffmpeg 
brew cask install xquartz #dependency for gifsicle, only required for mountain-lion and above
brew install gifsicle

Converting:

ffmpeg -i in.mov -s 600x400 -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > out.gif

The output resolution can (and probably should) be varied along with the file names.


For people wanting to produce a shell script to do the above, I came up with this:

https://gist.github.com/vmrob/27e4de2295c253edb7b3

#!/bin/bash -e

# Converts a video to a gif

if [ "$#" -ne 2 ]; then
    echo "usage: ${0##*/} [input video] [output gif]"
    exit 1
fi

VIDEO=$1
GIF=$2

# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$(ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')

# converts the video
ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | gifsicle --optimize=3 --delay=3 > $GIF

If you wanted to create an automator workflow for this, you would want to use the "Run Shell Script" workflow item using the arguments as input. I had to modify it slightly as the resulting .app doesn't know where ffprobe, ffmpeg, or gifsicle are, so this solution is definitely not very portable and might require adjusting, but it's at least quick:

#!/bin/bash -e

# Converts a video to a gif

if [ "$#" -ne 1 ]; then
    echo "usage: ${0##*/} [input video]"
    exit 1
fi

TOOL_PATH=/usr/local/bin
VIDEO=$1
GIF=$VIDEO.gif

# finds width and height of $VIDEO expressed as 123x456
WIDTH_HEIGHT=$($TOOL_PATH/ffprobe -loglevel warning -show_streams $VIDEO | grep -e "width\|height" | sed -E 's/(width|height)=//g' | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/x/g')

# converts the video
$TOOL_PATH/ffmpeg -i $VIDEO -s $WIDTH_HEIGHT -r 10 -f gif - | $TOOL_PATH/gifsicle --optimize=3 --delay=3 > $GIF

You can then save the workflow as an app or service that works on files so that using it is as simple as dragging and dropping movies into it or right clicking on a video file:

image demonstrating conversion

I have no idea why it's apparently sped up though..

5
  • Great suggestion - +1 But I'm not willing to use command line every time and making an Automator workflow wouldn't make it possible to choose location, would it? I'd rather have a GUI option as @GeorgeGargside said Commented Jun 18, 2014 at 6:17
  • @shub I did a little more work on it and came up with a script. It's still not a gui, but it does perform the conversion for you. My workflow would be Quicktime screencast -> save file -> convert.
    – vmrob
    Commented Jun 18, 2014 at 22:06
  • Even better! Works for me, but I still prefer George's answer - I'd +1 you again if I could :) Commented Jun 19, 2014 at 7:06
  • @shub Haha, I know it's not the solution you're looking for. At this point, I'm not even trying to answer your question, I'm trying to provide a nice alternative for everyone else that might find this. I really like George's answer too!
    – vmrob
    Commented Jun 19, 2014 at 18:01
  • 1
    Sorry - don't get me wrong - I think your idea is great! That's why I want to +1 it again - this site is for future users as well! Commented Jun 19, 2014 at 18:02
7

You can use Recordit:

  • free (but not open-source)
  • make a gif that lasts for about 10 seconds (up to 5 minutes for free)
  • 'on-the-spot' video maker and converter
  • Needs at least Mac OS X 10.8, Windows 7 enter image description here
0
7

Since I don't prefer any of the other solutions since they don't have the specific features I want, I made my own (currently command-line only) program specifically for quickly capturing .gifs and .webm files for the web.

Features

  • Follows the mouse or captures fullscreen
  • You can specify width and height of a recording area around your mouse
  • Outputs to (lots of png files) .gif and .webm

A gif made with screencapture

It's available for download here.


Note that this was made in a day, if you're not a developer, you probably won't be able to install/use it yet. I will be updating this program to make it more user friendly

1
  • What OSes are supported? Commented Sep 1, 2014 at 8:15
6

ScreenToGif

General

  • Free & Source code available
  • Simple to use
  • Portable
  • 9 MB small
  • No limitations such as time or file size limit

enter image description here

Features

  • Record your screen and save directly to a gif looped animation
  • Pause and continue to record
  • Move the window around to record what you want
  • You can add Text, Subtitles and Title Frames
  • Edit the frames, add filters, revert, make yoyo style, change frame delay, add - border, add progress bars
  • Export frames
  • Crop and Resize
  • You can work even while the program is recording
  • Remove frames that you don't want
  • Select a folder to save the file automatically or select one before enconding
  • Add the system cursor to your recording
  • Very small sized, portable and multilanguage executable
  • Start/Pause and stop your recording using your F keys
  • Multi language: Portuguese, Spanish, Romanian, Russian, Swedish, Greek, F rench, -Simplified Chinese, Italian, Vietnamese and Tamil.
  • GreenScreen unchanged pixels to save kilobytes
  • You can apply actions/filters to selected frames
  • Fullscreen Recording
  • Snapshot Mode
  • Drag and Drop to add frames in the editor

Caveats

This application lacks a OSX version (but maybe others find it useful)

1
  • Wow - this program has a lot of features! I like that you can edit specific frames! And it's open source!! That's cool, +1, hope this will help others! :) You definitely need more upvotes :P Commented Sep 5, 2015 at 9:21
5

You can use Quickcast:

  • free and open-source
  • up to 10 seconds and under 300px height/width
  • as of now Mac only
  • can publish .gif on QuickCast website directly
0
4

Since this question got a lot of attention, I feel that I should share my favorite screen recording software which isn't free but fulfill all other requirements and has many other useful features: TechSmith Camtasia

  • Mac and Windows (FYI Camtasia for Windows vs. Camtasia for Mac)
  • saves file locally or directly uploaded to a website (FTP, YouTube, Google Drive, etc.)
  • no limit of video length or video resolution
  • work with multi-monitor (the video area can even span on several monitors)
  • save as GIF:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

  • Demo:

enter image description here

  • lots of post-processing options:

enter image description here

For a more thorough description, see the list of all features.

0
3

I recommend Kap, an open-source screen recorder built with "web technology." It seems it only supports macOS as of now, but you might be able to add Windows support by a simple PR, as it is using JS.

Kap supports exporting to a variety of file formats, trimming the video before export, optionally uploading videos to a variety of cloud services, and the touchbar. It is easy-to-use, beautiful, has a global record hotkey, and they're responsive on their Github Issues. To sweeten the deal, their logo is sexy. Unfortunately, StackExchange doesn't support svg images, so check out their site.

0
1

Quite weird that no one has mentioned Giphy Capture
It is really cool and you can do both, record video or create gif.

Not the answer you're looking for? Browse other questions tagged or ask your own question.