Free Video Frame Extractor
Extract still frames from any video as PNG or JPG — at chosen intervals, exact timestamps, or every keyframe. Browser-based, no upload.
Why Do This in Your Browser?
Extracting still frames from a video sounds simple — and is, on the command line, with one FFmpeg flag. Online, it's a mess: most tools cap free use at one frame, watermark output, or upload your full video to extract a few stills.
This tool extracts frames in three modes: by interval (one frame every N seconds), by exact timestamps (frames at 0:03, 0:17, 1:42), or by keyframe (every I-frame, the natural 'scene boundary' marks in the source). Output is PNG (lossless) or JPG (smaller). Files stay on your device.
How It Works
Interval extraction uses FFmpeg's `fps` filter to sample frames at the chosen rate — 1fps gives one frame per second, 0.1fps gives one frame every 10 seconds, 0.01fps gives one frame every 100 seconds. Exact-timestamp mode uses the `select` filter with frame-specific timestamps. Keyframe mode uses `-vf select='eq(pict_type,I)'` to keep only intra-coded frames (the source video's natural scene boundaries).
Output format trade-off: PNG is lossless (every extracted frame is pixel-perfect) but ~5–10x larger than JPG. JPG at quality 90 is visually indistinguishable from PNG and saves significant download time when extracting hundreds of frames. For ML training data or detail-critical inspection, use PNG; for previews and bulk extraction, use JPG.
Tip: Extract frames from a specific portion by trimming the video first, then running the frame extractor on the trimmed result. If your goal is an animated sequence rather than separate stills, the GIF Maker handles frame-range conversion more directly.
Common Use Cases
How We Compare
Honest read on free, paid, and self-hosted options for this kind of job: