Extract perfect thumbnails from any video. Auto-extract key frames or manual frame-by-frame selection. Export as JPEG, PNG, or WebP. Ideal for YouTube thumbnails and preview images.
Grab still frames from any video to use as thumbnails, cover images, or reference shots. Upload a video, scrub to the moment you want, and export that frame as a high-quality PNG or JPEG. The tool also offers automatic extraction of multiple frames at even intervals across the video, making it easy to pick the best one from a visual grid.
Initializing in your browser…
Extract audio track from any video as MP3, WAV, AAC, OGG, or M4A. Quality presets from 128kbps to lossless. Perfect for podcasts, music extraction, and audio-only content.
Trim and cut videos precisely with frame-by-frame scrubbing. Set start/end points visually, preview clips in real-time, and export trimmed videos instantly. No upload required - runs 100% in browser.
Convert videos between MP4, WebM, OGG, MOV, AVI, and MKV formats. Device presets for YouTube, Instagram, TikTok, iPhone, Android. Quality options from fast to high quality encoding.
You need a poster image and a few candidate thumbnails grabbed at specific timestamps.
Input
video.mp4 · frames at 00:03, 00:21, 01:05
Output
Three full-resolution PNGs at the requested times
Exact-timestamp extraction pulls the real frame (not a re-encoded approximation), so the thumbnail is pixel-accurate to what plays. Grabbing several lets you pick the most compelling poster.
Grab still frames from any video to use as thumbnails, cover images, or reference shots. Upload a video, scrub to the moment you want, and export that frame as a high-quality PNG or JPEG. The tool also offers automatic extraction of multiple frames at even intervals across the video, making it easy to pick the best one from a visual grid.
Extract the perfect frame from your video to use as a custom YouTube thumbnail.
Capture a compelling still from a video to use as a preview image when sharing links.
Pull key frames from recorded footage for storyboards, presentations, or visual documentation.
In Auto Extract mode with the default count of 10, the tool computes interval = 60 / 11 = ~5.45s and grabs frames at ~5.45s, ~10.9s ... ~54.5s, each rendered at the video's native resolution; the Extraction Preview shows that interval before you run it.
Switch to Manual Capture, scrub with the 0.01s-step slider (or nudge with the 5-frame skip buttons) to the precise moment, set format to PNG (quality 1, lossless), and click Capture This Frame; it downloads as videoname_frame_mm-ss.cc.png.
The extractor decodes frames entirely in the browser: it loads your file into a hidden HTML5 <video> element, seeks to a target timestamp, then paints that frame to an off-screen <canvas> with ctx.drawImage and exports it with canvas.toBlob. There is no ffmpeg and no upload; the canvas is sized to the video's native decoded dimensions (video.videoWidth x video.videoHeight, shown live in the resolution badge), so thumbnails come out at full source resolution rather than the on-screen player size. Because seeking jumps to the nearest decodable point and the browser needs a moment to present it, each capture waits for the video's 'seeked' event plus an extra 50ms timeout before drawing, which avoids grabbing a stale or half-decoded frame.
Auto Extract mode spaces frames evenly across the clip using interval = duration / (count + 1) and samples at interval x (i+1), so for 10 frames you get captures at roughly 1/11, 2/11 ... 10/11 of the runtime - the very first and very last instants are deliberately skipped. Count is chosen from presets of 1, 5, 10, 20, or 30 (default 10) or a 1-30 slider, and the Extraction Preview pane shows the resulting per-frame interval before you run it. A progress bar updates per frame as it loops, and because sampling is purely time-based it lands on fixed intervals rather than scene cuts, so a peak-action frame may fall between two samples. Manual Capture mode trades automation for precision: a 0.01-second-step scrubber plus skip buttons that nudge by five 30fps frames (about 0.167s) let you park on an exact moment and grab a single frame with Capture This Frame.
Output format drives the toBlob encoding quality directly: JPEG is written at quality 0.92, WebP at 0.9, and PNG at quality 1 for lossless output (the quality argument is ignored by PNG, but it also preserves the alpha channel). PNG is the right pick for sharp UI, text overlays, or screenshots where JPEG's lossy compression would smear edges, while JPEG or WebP keep photographic frames small. Downloads are named from the source filename - {name}_thumbnail_{n}.{ext} for batch frames and {name}_frame_{mm-ss.cc}.{ext} for manual captures - and Download All triggers each save staggered by 100ms so the browser does not collapse them into one prompt. Every preview and result is a temporary object URL that is revoked on cleanup or when you load a new video, so nothing persists after you leave the page.
Frames are captured at the video's native resolution. A 1080p video produces 1920x1080 pixel images.
PNG is lossless and better for sharp graphics or text on screen. JPEG produces smaller files and is fine for photographic content.
Video is decoded and re-encoded on your own device. Large files never leave your machine.