Blog
Wild & Free Tools

How to Extract Frames from a Video on Linux for Free

Last updated: March 2026 5 min read
Quick Answer

Table of Contents

  1. Method 1: Browser tool — no install
  2. Method 2: FFmpeg command line
  3. Choosing PNG vs JPG on Linux
  4. Extracting frames from batch files
  5. Which method is right for your use case
  6. Frequently Asked Questions

Linux gives you more options for video frame extraction than any other platform — but they vary widely in setup effort. The fastest path is a browser-based tool: open it in Chrome or Firefox, drop your video, and download frames as PNG or JPG without touching a terminal. If you prefer command-line control, FFmpeg is already available in every major distro's package manager and handles frame extraction in a single command. Here is how both methods work on Ubuntu, Fedora, Debian, and other common distributions.

Method 1 — Browser Tool (Works on Any Linux Distro)

The quickest option on any Linux desktop: open the Frame Extractor in Chrome, Chromium, or Firefox. Drag your MP4, MOV, WebM, AVI, or MKV file onto the tool. Choose an interval — every 1, 2, 5, or 10 seconds, or every frame — select PNG or JPG output, and click Extract. Frames appear as a gallery and download as individual files or a zip.

All processing happens locally using a professional-grade video engine compiled for the browser. No file leaves your machine, no account is required, and it works identically whether you are on Ubuntu, Fedora, Arch, or any other distribution — as long as you have a modern browser installed.

This method is ideal for quick extractions, single clips, or when you are working without terminal access (for example, when helping someone remotely).

Method 2 — FFmpeg (Full Control, One-Line Commands)

FFmpeg is the standard tool for video frame extraction on Linux. Install it from your package manager:

# Ubuntu / Debian
sudo apt install ffmpeg

# Fedora
sudo dnf install ffmpeg

# Arch
sudo pacman -S ffmpeg

To extract one frame per second from a video:

ffmpeg -i input.mp4 -vf fps=1 frame_%04d.jpg

To extract every frame (all frames at full framerate):

ffmpeg -i input.mp4 frame_%04d.png

To extract a single frame at a specific timestamp (e.g., 1 minute 30 seconds):

ffmpeg -i input.mp4 -ss 00:01:30 -frames:v 1 screenshot.png

Output files land in the current working directory. Use -q:v 2 for high-quality JPG output (-q:v 2 is the highest quality, 31 is the lowest).

Sell Custom Apparel — We Handle Printing & Free Shipping

PNG vs JPG — Which Format to Use on Linux

PNG is lossless: every pixel is preserved exactly as it appeared in the original frame. Use PNG when you need the frames for further editing, machine learning datasets, or print-quality screenshots. PNG files are larger — typically 2–5x the size of an equivalent JPG.

JPG is compressed: it discards some image data to produce smaller files. For thumbnails, social media images, or any case where you will view the image but not edit it further, JPG gives adequate quality at a fraction of the file size. A JPG at quality 90 is nearly indistinguishable from PNG at normal viewing sizes.

In FFmpeg, the file extension controls the format: frame_%04d.png outputs PNG, frame_%04d.jpg outputs JPG. In the browser tool, use the format dropdown.

Extracting Frames from Multiple Videos on Linux

FFmpeg handles batch processing cleanly in a shell loop:

for f in *.mp4; do
  mkdir -p "${f%.*}_frames"
  ffmpeg -i "$f" -vf fps=1 "${f%.*}_frames/frame_%04d.jpg"
done

This loop processes every MP4 in the current directory, creates a subfolder for each video's frames, and extracts one frame per second into it. Adjust the fps=1 value to change the extraction rate.

The browser tool is designed for individual files. For batch processing across many videos, FFmpeg or a Python script using the same FFmpeg backend is the right choice.

Browser Tool vs FFmpeg — Which to Use

Use the browser tool when: you want fast extraction without opening a terminal, you are on a machine where FFmpeg is not installed, you need a GUI to preview the frames before downloading, or you are extracting from a single video.

Use FFmpeg when: you need batch processing across multiple files, you want precise control over frame rate or output quality, you are scripting extraction as part of a larger workflow, or you are working over SSH on a headless server.

For most casual use cases on a Linux desktop — grabbing a thumbnail, pulling a clip's key frames, or extracting a still for documentation — the browser tool is faster from start to finish because there is no command to remember and no output path to specify.

Extract Frames on Linux — No Install Required

Works in Chrome or Firefox on any Linux distro. Drop your video, set the interval, download your frames. Free, no account.

Open Free Frame Extractor

Frequently Asked Questions

Does the browser tool work on Linux?

Yes. It works in any modern browser — Chrome, Chromium, Firefox, or Brave — on any Linux desktop environment. No additional drivers or codecs are required.

Can I extract frames from a video over SSH?

The browser tool requires a graphical browser. For headless SSH sessions, use FFmpeg: it has no GUI dependency and runs entirely in the terminal.

What video formats does the browser tool support on Linux?

MP4, MOV, WebM, AVI, and MKV. The same formats supported on other operating systems — the browser tool has no platform-specific limitations.

Lisa Hartman
Lisa Hartman Video & Audio Editor

Lisa has been testing video and audio editing software for nearly a decade, starting out editing YouTube content for creators.

More articles by Lisa →
Launch Your Own Clothing Brand — No Inventory, No Risk