Skip to content

Files & Media

Video Thumbnail Generator

Capture a poster frame from any video.

Runs in your browser

Drop a video or click to browse

Understanding video thumbnails

One representative frame, one preview image.

What a thumbnail is, the smart-pick algorithms that beat "grab the first frame", and the contact-sheet variant for long videos.

The default is wrong.

The naive thumbnail is "the first frame". For most real videos that's a black screen, a logo, or a title card — useless as a preview. Better defaults: pick a frame N seconds in (10-30 seconds skips intros). Even better: scan multiple candidate frames and pick the one with the most visual interest (highest entropy, most colour variety). The "smart thumbnail" you see on YouTube and Vimeo is doing this scoring per video.

FFmpeg's thumbnail filter.

The built-in heuristic: thumbnail filter scans every N frames and picks the one most different from its neighbours — proxying "this frame is interesting". ffmpeg -i in.mp4 -vf "thumbnail=100" -frames:v 1 out.png examines 100-frame batches and picks the standout from each. Useful when you have no editorial input on which frame to use and want better than first-frame.

A worked thumbnail.

A 30-minute lecture, target a single representative thumbnail. Three strategies. Strategy 1: poster frame at t=120s (assumes the intro ends by then) — ffmpeg -ss 120 -i in.mp4 -frames:v 1 thumb.jpg. Strategy 2: smart thumbnail — ffmpeg -i in.mp4 -vf "thumbnail" -frames:v 1 thumb.jpg. Strategy 3: explicit timestamp from a user's pick. Pick strategy 1 for bulk processing; 2 when there's no editorial; 3 when there is.

Poster frame at fixed timestamp

-ss 120 -frames:v 1

Seek 120s in, take one frame, stop.

ffmpeg -ss 120 -i in.mp4 -frames:v 1 thumb.jpg

= Sub-second runtime

Contact sheets for long videos.

For a 90-minute recording, a single thumbnail can't represent the content. The contact sheet (sometimes called a "preview sprite") is a grid of N×M small thumbnails sampled across the video duration. A 4×6 sheet of 90-minute content is one frame every ~3.7 minutes. The sheet doubles as a navigation aid: hover on a video player's scrubber, see the matching thumbnail. Most video players (Plex, JW, Vimeo) generate these automatically.

Aspect ratio matters.

A 16:9 thumbnail of a 16:9 video looks fine. A square thumbnail forced from a 16:9 source either crops (loses left/right edges) or letterboxes (black bars). Most platforms prefer 16:9 thumbnails at specific sizes (YouTube wants 1280×720 for upload). Generating multiple sizes (1280×720 for the hero, 320×180 for the grid view, 100×56 for the scrubber sprite) is the typical thumbnail pipeline.

The right frame is editorial.

A YouTube thumbnail isn't usually a frame from the video at all — it's a deliberately-designed promotional image with annotations, faces, big text. The frame-grab tool gives you a baseline; for content where the thumbnail matters (anything you're publishing), expect to design it. For internal use (video libraries, course catalogues, archive browsing) the auto-pick is fine.

Frequently asked questions

Quick answers.

Are my videos uploaded to your server?

No. The video is loaded directly from your storage into your browser's memory. No data is sent to a server at any point.

What video formats are supported?

The tool supports any format your browser can play natively, typically `.mp4`, `.webm`, and `.ogg`. Support for `.mov` or `.mkv` depends on your specific browser and operating system.

How do I capture a specific frame?

Use the video player seek bar or the frame-by-frame controls to find the exact moment. Once the player shows the desired image, click capture to generate the image file.

What is the resolution of the captured image?

The captured thumbnail matches the native resolution of the source video. If you load a 1080p video, the resulting image will be 1920x1080 pixels.

People also search for

Related tools

More in this room.

See all in Files & Media