Video Thumbnail Generator

Upload a video, navigate frame by frame and download the exact frame you want in multiple resolutions

Grab an Exact Frame From a Video Without Any Encoding Step

Unlike most tools on this site, this one doesn't touch ffmpeg at all. It plays your video in a standard HTML5 <video> element, and when you hit Capture, it draws the current video frame onto an off-screen <canvas> element at the video's native pixel dimensions using drawImage, then reads that canvas back out as a JPEG, PNG, or WebP data URL. Because there's no decode-and-re-encode pipeline involved, capturing is instant, the bottleneck is only how precisely you can navigate to the frame you want, using the ±1 second and ±1 frame buttons, or scrubbing the native video controls directly.

The ±1 frame step is calculated from an FPS value you set (24, 25, 30, or 60), since browsers don't expose a video's exact underlying frame rate through the standard playback API, this is really an approximation: the tool advances currentTime by 1/fps seconds and hopes that lines up with your source's actual frame boundaries. Once you've captured a frame, the resolution list lets you export it at the original size or scaled down (4K, 2K, 1080p, 720p, down to 240p) by drawing the already-captured canvas onto a second, smaller canvas before exporting, so no video re-decoding happens for the resize either.

How to Use

  1. 1

    Upload a video file

    MP4, WebM, MOV, and AVI files load directly into the browser's native video player.

  2. 2

    Navigate to the frame you want

    Use the ±1 second and ±1 frame buttons, or the video's own scrubber, to land on the exact moment.

  3. 3

    Set the FPS assumption if needed

    Match the 24/25/30/60fps selector to your source's actual frame rate so the ±1 frame step lines up accurately.

  4. 4

    Capture the frame

    The current frame is drawn onto a canvas at full native resolution the instant you click Capture, no processing wait involved.

  5. 5

    Pick a format and resolution, then download

    Choose JPEG, PNG, or WebP and quality level, then download at the original resolution or any smaller preset from the list.

Key Features

  • →This tool captures via the Canvas API directly from the video element, so there's no encode step and no waiting, the capture happens the instant you click.
  • →The FPS selector is an assumption used to calculate frame-step size, not a value read from the file, set it to your source's real frame rate for accurate single-frame stepping.
  • →PNG preserves every pixel losslessly and is the safer choice if you plan to edit the frame further; JPEG produces a smaller file that's usually fine for direct use as a thumbnail.
  • →Since the resolution list scales down from the already-captured canvas rather than re-reading the video, downloading multiple sizes of the same frame is effectively instant.
  • →A frame with good lighting and minimal motion blur will hold up much better once scaled down to something like a 360p thumbnail than a dim, blurry one.
  • →The captured frame is always at your source video's native resolution first; downscale presets exist for convenience, not because the tool re-samples the original footage.

Frequently Asked Questions

Does this tool re-encode my video like the other ffmpeg-based tools on the site?

No. It reads the current frame directly from the HTML5 video element with the Canvas API's drawImage, no ffmpeg or WebAssembly decode pipeline is involved, which is why capturing a frame is instant rather than a processing step.

Why do I need to tell it my video's frame rate?

Browsers don't expose a video file's exact frame rate through standard playback APIs. The FPS selector is used purely to calculate how far the ±1 frame buttons move currentTime (1 divided by the selected FPS), so setting it to match your source improves stepping accuracy.

What resolution is the captured image?

The initial capture always matches your source video's native pixel dimensions, read directly from the video element's videoWidth and videoHeight. Any smaller size in the resolution list is generated afterward from that same captured frame.

Which format should I export, JPEG, PNG, or WebP?

PNG is lossless and best if you'll edit the image further. JPEG gives a smaller file that's typically fine for direct use as a thumbnail. WebP sits in between, often producing a smaller file than JPEG at a similar visual quality, when your destination supports it.

Can I get a frame from a video with unusual dimensions or aspect ratio?

Yes. Since the capture reads whatever videoWidth and videoHeight the browser reports for the loaded file, non-standard resolutions and aspect ratios come through exactly as they exist in the source.

Last updated: June 2026

Related Tools