>FFmpegLab Start free
FFmpeg Guide

Extract frames & thumbnails from video with FFmpeg

Grab a single still, export a contact sheet of frames, pull one image per second, or let FFmpeg auto-pick a representative thumbnail.

Pulling images out of a video is one of FFmpeg's most useful tricks — for poster frames, thumbnails, dataset frames, or just grabbing a clean still. The key levers are seeking (-ss), how many frames to take (-frames:v or fps), and an output filename pattern.

Key takeaways

A single frame at a timestamp

Seek to 10 seconds and write exactly one high-quality JPEG:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -ss 00:00:10 -i in.mp4 -frames:v 1 -q:v 2 frame.jpg

Putting -ss before -i seeks fast. Lower -q:v means higher quality (2 is excellent for JPEG).

One image per second

The fps filter controls sampling rate. This writes a numbered sequence, one frame per second:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i in.mp4 -vf "fps=1" frame_%04d.jpg

For one frame every 5 seconds use fps=1/5; for 2 per second use fps=2.

Every Nth frame

To keep, say, every 30th frame regardless of frame rate, use select:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i in.mp4 -vf "select=not(mod(n\,30))" \
  -vsync vfr frame_%04d.png

Extract every single frame

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i in.mp4 frame_%06d.png

Use a wide counter (%06d) so frames sort correctly for long clips.

Auto-pick a representative thumbnail

The thumbnail filter analyzes a batch of frames and chooses the most representative one — great for an automatic poster image:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i in.mp4 -vf "thumbnail=n=100,scale=640:-1" \
  -frames:v 1 thumb.jpg

Make a contact sheet (tiled grid)

The tile filter packs frames into a single montage image:

ShareRenders{ } CodeConfig
Generated CodeLogsCustomize
ffmpeg -i in.mp4 -vf "fps=1/10,scale=320:-1,tile=4x4" \
  -frames:v 1 sheet.png

Grab stills on a timeline

FFmpegLab lets you scrub to any point and export a still, generating the exact seek command behind the scenes — and because it runs offline, frames from sensitive footage never leave your device. Need to cut first? See the trim & cut guide.

✦  Fresh from the render queue

Better FFmpeg workflows, delivered.

Get practical commands, new templates, and deep-dive guides for the edits that are usually hardest to get right.

✓  Copy-pasteable commands    ✓  Editor templates    ✓  No noise
One useful email at a time.

Scrub, grab a frame, export — privately.

Free in your browser — nothing to install, nothing uploaded.