1. Home
  2. Linux
  3. Extract frames from gifs linux

How to extract frames from GIFs on Linux

Got an animated GIF image you wish to extract frames out of on your Linux desktop? Can’t figure out how to do it? We can help! Follow along with this guide as we go over two easy ways to extract frames from GIFs on Linux!

Method 1 – GraphicsMagick

The best way to extract individual frames from a GIF image on Linux is with the GraphicsMagick tool. It has a robust command line, and you can use it to decompile an entire GIF to individual PNG frame files.

Sadly, the GraphicsMagick tool doesn’t come pre-installed on very many Linux operating systems. As a result, you’ll need to get the app installed on your computer before attempting to use it. 

To start the installation of GraphicsMagick on your Linux PC, open up a terminal window. Open up a terminal window on the Linux desktop and press Ctrl + Alt + T on the keyboard. Or, alternatively, search for “Terminal” in the app menu and open it that way.

Once your terminal window is open, follow along with the installation instructions outlined below that corresponds to the Linux operating system you use on your PC.

Ubuntu

On Ubuntu, you can get the GraphicsMagick application up and running by making use of the following apt install command below in a terminal window.

sudo apt install graphicsmagick

Debian

If you’re on Debian Linux, you’ll be able to get the GraphicsMagick tool working on your system with a single apt-get install command in the terminal window.

sudo apt-get install graphicsmagick

Arch Linux

If you’re an Arch Linux user, you’ll be able to install the GraphicsMagick application on your system through the “Extra” software repository using the pacman command below.

sudo pacman -S graphicsmagick

Fedora

Those using Fedora Linux will be able to get the GraphicsMagick application up and running by making use of the following dnf install command below in a terminal window.

sudo dnf install graphicsmagick

OpenSUSE

OpenSUSE Linux has the latest GraphicsMagick tool in their software repositories. To get it working on your system, use the following zypper install command below in a terminal window.

Generic Linux

If you’re using a Linux operating system not covered in this guide, you can install GraphicsMagick on your computer by searching for “graphicsmagick” and installing it using your package manager. Alternatively, you can go to the official website and follow the installation guide.

Extracting frames with GraphicsMagick

To extract frames from a GIF using GraphicsMagick, use the gm convert command. However, first, you must use the CD command to move to the directory you have your GIF image in. In this example, the GIF is in “Pictures.

cd ~/Pictures

Once in the directory, begin the decompilation. It shouldn’t take long.

gm convert MY-GIF.gif -coalesce +adjoin GIF_Frame%3d.png

When the conversion is complete, you’ll see many PNG images with the filename “GIF_FRAME” followed by a number. Look through these image files for the frame you wish to keep and delete the rest.

Method 2 – Gimp

If the command-line isn’t for you, another way to extract frames from a GIF image is by importing the GIF into Gimp, exploring the animation as individual frames, and saving the frame you want.

To get started with extracting frames out of GIF image files using Gimp, you’ll need to install the program. To install Gimp, please follow our installation guide.

Extracting frames with Gimp

Extracting individual frames from a GIF file in Gimp is pretty straightforward. To start, open up the Linux file manager and right-click on your GIF with the mouse. Then, look through the right-click menu for “Open with” and hover over it.

After hovering over “Open with,” select the option “Open with GNU Image Manipulation Program” and click on it. Doing this will load your GIF into GIMP.

Once the GIF is loaded into GIMP, look at your layers. Each frame in the GIF is its own layer. From here, click on the eye icon to hide every single frame so that nothing is showing on the canvas.

When all images are hidden (by clicking on the eye icon), go through the layers and locate the individual frame you wish to extract. Then, click on the eye icon for the frame you want to show on the canvas to be the only layer visible.

Now that your chosen frame is the only one visible on the canvas click on the “File” menu to reveal its options. Then, click on the “Export As” button to begin the exporting process.

In the “Export” menu, save your frame as a PNG file or JPG file. Be sure to choose a familiar location on your Linux file system to save it. Otherwise, you may forget when you put the image file.