Video Frame Extractor

How to use 4 steps
  1. Choose your video under Video file.
  2. Under Take, choose how frames are picked, and set From and To.
  3. Pick the image Format, Quality and Size.
  4. Press Extract Frames, then download single frames or all of them as a ZIP.

MP4 and WebM work everywhere, MOV usually. MKV, AVI and ProRes cannot be opened by a browser. Nothing is uploaded — the file is decoded on your device.

Extracted Frames

How this tool works

The video is played by your browser, each wanted frame is drawn onto a canvas, and the results are packed into a ZIP. Nothing is uploaded — the file is decoded on your own device, which is the main reason to use this rather than a service that wants the upload before it will do anything. You choose how often to take a frame, over what range, in which format and at what size.

Before extraction starts, the number of frames, the estimated size and the estimated time are calculated and shown. That is deliberate: both time and memory scale with the frame count rather than the length of the video, so a twenty-minute clip is comfortable at one frame per second and impossible at every frame. Being told before you commit is more useful than a tab that dies four minutes in.

What limits this and why

  • Fifteen hundred frames is the ceiling: the ZIP is assembled in memory, and that is roughly where a mid-range phone runs out. Twenty minutes at every frame would be around thirty-six thousand images and several gigabytes — a job for ffmpeg on a desktop, and the tool says so rather than letting you find out the hard way.
  • Only what your browser can play: MP4 and WebM everywhere, MOV usually. MKV, AVI and ProRes will not open at all. That is a limit of browser video support rather than a missing feature, and no setting works around it.
  • Frame-exactness varies between browsers: Chrome, Edge and Safari can capture frame by frame precisely. Firefox has no equivalent, so frames there are taken by seeking to a timestamp, and one may occasionally repeat or be skipped.
  • Keep the tab in front: browsers throttle background tabs heavily. Switching away mid-run does not lose the frames already captured, but extraction slows to a crawl until you come back.

What actually limits a run is the frame count, not the video's length

Both the time a run takes and the memory it needs scale with how many frames are captured, not with how long the source video is — a twenty-minute clip is a comfortable job at one frame per second and an impossible one at every frame. The [msm_tool slug="video-frame-extractor"] calculates the frame count, the estimated size and the estimated time before anything runs, so that trade-off is visible while there is still a setting to change rather than discovered when a tab stops responding.

Fifteen hundred frames is the ceiling, and it is set for a phone

The finished ZIP is assembled in memory, and that is roughly where a mid-range phone runs out. Twenty minutes of footage at every frame is on the order of thirty-six thousand images and several gigabytes — a desktop job for different software entirely, and the tool says so up front rather than letting a long run fail partway through. One frame per second from the same video comes to a little over a thousand images, which is what most people asking for frames from a long recording actually want.

Frame-exactness depends on the browser

Chrome, Edge and Safari can step through a video frame by exact frame. Firefox has no equivalent capability, so frames there are taken by seeking to a timestamp instead, and a seek can occasionally land on the same frame twice or skip one entirely. The gap is small on most footage and worth knowing about before treating every extracted frame as guaranteed unique.

JPEG is almost always the right format

A video frame is already lossy from whatever encode produced the original file, so saving it as PNG preserves those existing compression artefacts at roughly ten times the file size rather than adding any quality that was not there to begin with. JPEG is the appropriate match for source material that was never lossless in the first place.

What it cannot open

MP4 and WebM play everywhere and MOV nearly everywhere, but MKV, AVI and ProRes will not load at all, because the browser cannot decode those containers regardless of what this tool asks of it. Converting to MP4 first resolves it — the limit sits in the browser's own format support, not in a setting here.

Stopping keeps what has already been captured

Frames already extracted when a run is stopped are packed into a ZIP and offered as normal, so a range or interval chosen wrongly costs the time spent waiting rather than the frames already taken.

Frequently Asked Questions

Specific to the Video Frame Extractor. Broader questions about this category are answered on the category page.

Twenty minutes at thirty frames a second is thirty-six thousand images and several gigabytes. The ZIP is built in memory, so the tab would run out long before finishing. One frame per second gives about twelve hundred, which is what most people wanting frames from a long video actually need.
Roughly one to two minutes per thousand frames at 1080p, and longer for larger footage, since each frame is a seek plus an encode. The estimate shown before you start is calculated from your actual settings.
It is almost certainly MKV, AVI or ProRes, none of which browsers can decode. Converting to MP4 first will fix it. MP4 and WebM open everywhere.
JPEG for video frames, almost always. PNG is lossless and roughly ten times larger, and video frames are already lossy from the original encode, so PNG preserves compression artefacts at great cost rather than adding quality.
The frames already captured are packed into a ZIP and offered as normal. Stopping loses nothing that was finished, so a range you set wrongly costs you the waiting rather than the work.

Subscribe to receive notifications about new tools, features, and productivity tips.