Video Frame Extractor Free
Extract frames from any video at a chosen frame rate. Capture every frame or sample at intervals, preview each frame in the gallery, and download the full set as a ZIP. Everything runs in your browser with no upload, no signup, and no watermark.
Why Extract Frames from a Video
A video is a sequence of still images played fast enough that the eye reads them as motion. Extracting frames reverses that: it pulls individual stills out of the sequence. Sometimes the goal is one perfect frame — a thumbnail, a cover image, a reference for a design. Sometimes the goal is the whole set — for analysis, for machine learning, for stop-motion reference, or for a contact sheet.
Frame extraction also feeds workflows that video formats cannot. A photo editor cannot open an MP4. A machine-learning pipeline expects images. A slide deck needs a still. A design reference needs a single frame at full resolution. Extracting frames turns video into the format the next tool actually needs.
This page explains how the extraction FPS works, what each setting is good for, and how to keep the output manageable.
How This Tool Works
The tool loads the video in the browser and plays it through a hidden video element. At each interval set by the extraction FPS, the tool draws the current frame onto a canvas and captures it as an image. Each captured frame is added to the gallery and stored in memory. When extraction is done, the frames can be downloaded as a ZIP archive using JSZip.
Everything runs locally. The video never leaves your device. When you close the tab, the frames leave memory.
Because the tool plays the video through in real time to capture frames, extraction time scales with the video's duration. A 5-minute video takes about 5 minutes to process at any FPS setting. Higher FPS captures more frames in the same playback time.
Understanding the Extraction FPS
The extraction FPS is not the source frame rate. It is how often the tool takes a snapshot. The source might be 30fps or 60fps, but the extraction FPS determines how many frames actually come out.
0.5 to 1 FPS — Sparse sampling
One frame every 1 to 2 seconds. Good for creating a contact sheet, a visual summary, or a set of thumbnails. A 5-minute video yields 150 to 300 frames — manageable and useful for scanning the whole video quickly.
2 to 5 FPS — Moderate sampling
Enough frames to show motion in a sequence, without capturing every single frame. Useful for stop-motion reference, sports pose analysis, or building a timeline of frames.
6 to 15 FPS — Dense sampling
Close to full coverage for most content. Good for animation analysis, machine-learning datasets, or any task that needs most of the frames.
16 to 30 FPS — Near-full extraction
Effectively every frame for 15fps to 30fps sources. Large output. Use only when the task requires it — a 5-minute video at 30 FPS produces 9000 frames and a very large ZIP.
Step-by-Step: Extract Frames
- Upload your video. Click the upload area or drag a video file. The tool reads it locally and shows a preview.
- Set the extraction FPS. Lower FPS for a summary, higher FPS for dense coverage. The tool shows the current value above the slider.
- Click Extract Frames. The tool plays the video and captures frames at the chosen interval. Status updates appear as frames accumulate.
- Review the gallery. Click any thumbnail to preview it. The gallery shows frame indices so you can locate specific moments.
- Download. Click Download Frames as ZIP to save the full set. No watermark is added.
Common Use Cases
Making a cover image or thumbnail
Extract frames at 1 FPS, scan the gallery, and pick the frame that works best. Save it as a still and use it wherever the destination expects an image.
Building a contact sheet
Extract at 0.5 to 1 FPS to get a representative frame for every 1 to 2 seconds of video. Combine them into a grid to preview the whole video at a glance.
Creating a dataset for machine learning
Extract at the source frame rate, or just below it, to produce a labeled dataset of frames. The ZIP download makes it easy to move the set into a training pipeline.
Analyzing motion in sports or dance
Extract at 5 to 15 FPS to get enough frames to study body mechanics. Combine with the video speed controller to slow the source first for cleaner per-frame analysis.
Reference frames for animation
Extract at the target animation rate — 12 or 24 FPS — to produce a per-frame reference for stop-motion or hand-drawn animation.
Building a timeline of frames
Extract at 1 to 5 FPS and lay the frames out in order. The result is a visual timeline of the video that makes editing decisions easier.
Grabbing a specific moment
Extract at 1 FPS to scan the video quickly, then re-extract at 5 to 15 FPS in the region of interest. Two passes are faster than extracting everything at high FPS.
Choosing the Right FPS
| Goal | Extraction FPS | Frames per 1-minute video |
|---|---|---|
| Cover image / thumbnail | 0.5–1 | 30–60 |
| Contact sheet / summary | 0.5–1 | 30–60 |
| Timeline of frames | 1–5 | 60–300 |
| Motion analysis | 5–15 | 300–900 |
| Animation reference | 12–24 | 720–1440 |
| Machine learning dataset | 15–30 | 900–1800 |
| Near-full extraction | Source frame rate | Varies |
When in doubt, start at 1 FPS. If the output is too sparse, raise the FPS and re-extract only the region that matters.
File Size and Processing Time
Two costs grow with the extraction FPS: the number of frames and the total size of the ZIP. A 1-minute video at 1 FPS produces 60 frames. At 30 FPS it produces 1800. The ZIP can range from a few megabytes to hundreds of megabytes.
Processing time is dominated by playback, not by FPS. The tool plays the video through in real time to capture frames, so a 5-minute video takes about 5 minutes regardless of FPS. Higher FPS just means more frames are captured during that same window.
To reduce both time and size:
- Trim first. Use the video splitter to isolate only the part of the video that matters, then extract from the trimmed clip.
- Lower FPS for the first pass. Scan at 1 FPS to find the interesting region, then re-extract at a higher FPS on the trimmed source.
- Clear frames between passes. Use Clear Frames to release the last set before starting a new extraction.
Quality: What to Expect
Extracted frames are captured from the decoded video at the video's native resolution. They are not upscaled or downscaled, so the frame quality matches the source. If the source is 1920x1080, the frames are 1920x1080.
Compression artifacts in the source carry over to the frames. A heavily compressed video produces frames with visible blocking or banding. Use the original export, not a re-shared copy, for the cleanest frames.
Common Mistakes
Extracting everything at max FPS
A 5-minute video at 30 FPS produces thousands of frames and a very large ZIP. Start lower and raise only when needed.
Forgetting that playback is real time
The tool plays the video through. Long videos take a long time regardless of FPS. Trim first for speed.
Extracting the whole video to find one frame
Extract at 1 FPS first to locate the moment, then trim the source and re-extract at higher FPS. Two passes beat one heavy pass.
Ignoring the source frame rate
Setting the extraction FPS above the source frame rate does not produce more unique frames. A 15fps source cannot yield 30 unique frames per second — the tool will capture duplicate-looking frames.
Skipping the preview
The gallery previews each frame. Check a few before downloading the ZIP. If the frames are blurry or the extraction FPS was wrong, adjust and re-extract.
Not clearing frames between passes
The Clear Frames button releases the current set. Without clearing, memory grows with each extraction. Clear between passes on long videos.
Post-Extraction Workflow
After the frames are extracted and the ZIP is downloaded, typical follow-up tasks include:
- Pick a single frame as a cover image or thumbnail.
- Assemble a contact sheet in an image editor or collage tool.
- Feed the frames into a machine-learning training pipeline.
- Animate the frames in a timeline editor for stop-motion or motion reference.
- Use a frame as a reel cover for social platforms.
- Convert the frames back to video in a video editor if a specific animation is needed.
Privacy: What Happens to Your Video
This tool never uploads your video. Every frame is read and captured in your browser using the Canvas API. When you close the tab, the frames leave memory.
That matters for client footage, private recordings, and anything that should not leave your device. Server-based frame extractors require trust in the host. This tool removes that requirement.
Tips for Cleaner Extractions
- Start at 1 FPS. Scan the video cheaply. Raise the FPS only where the source needs it.
- Trim before extracting. Shorter sources mean faster processing and smaller ZIPs.
- Match FPS to the source. Do not set extraction FPS above the source frame rate — it produces duplicate frames.
- Use the gallery to preview. Click any thumbnail before downloading the ZIP to confirm the frames look right.
- Clear frames between passes. Release the current set before starting a new extraction to free memory.
- Keep the source video. If a different FPS is needed later, re-extract from the original rather than re-encoding.
- Watch the ZIP size. High-FPS extractions on long videos produce very large ZIPs. Check before downloading.
- Use higher FPS only when the next step needs it. A thumbnail needs one frame, not 9000.
Related Video Tools on VideoTools
Frame extraction is one step in a longer workflow. These tools cover the rest, all in the same browser-based, no-upload environment:
- Reel Cover Generator — extract a cover image from a video
- Video Splitter — trim to the range to extract
- Video Speed Controller — slow down for frame analysis
- Video to GIF — turn a frame sequence into an animated GIF
- Video Resizer — change aspect ratio and dimensions
- Compress Video — reduce video file size
- Video Converter — change format
- Video to Audio Converter — extract the audio track
Frequently Asked Questions
How do I extract frames from a video online for free?
Upload your video, set the extraction FPS, then click Extract Frames and download the ZIP. Everything runs in your browser.
What does the extraction FPS mean?
It is the number of frames captured per second of video. At 1 FPS the tool captures one frame per second. At 30 FPS it captures up to 30 frames per second. Higher FPS means more frames and longer processing.
Can I extract every single frame from a video?
Set the FPS to match the source frame rate (for example 30 FPS for a 30fps video). All frames are captured. Very long videos produce very large output sets and take longer to process.
Does the tool upload my video to a server?
No. Every frame is read and captured in your browser using the Canvas API. Nothing leaves your device.
What format are the extracted frames saved as?
Frames are captured as images (typically PNG or JPEG) and packaged into a ZIP archive for download.
Can I preview a frame before downloading?
Yes. Click any thumbnail in the gallery to preview that frame. The full set is available in the ZIP download.
Why does extraction take so long for long videos?
The tool plays the video through in real time to capture frames. A 5-minute video takes about 5 minutes to process at any FPS setting. Higher FPS captures more frames but does not change playback time.
Does the output have a watermark?
No. VideoTools never adds a watermark. Every extracted frame stays clean.