Extract Frames from Video

Rip frames and screenshots from any video in your browser. No upload required.

Loading tool…

How to use

  1. 1Select your video by clicking the upload area - no account or sign-up required.
  2. 2Set the number of frames. They are sampled at the midpoint of each even interval.
  3. 3Pick your format and click Extract Frames.
  4. 4Preview the results in the gallery, then download as a ZIP.

Where each frame comes from

FrameRipper divides the duration into equal segments and captures one frame from the middle of each. The formula is t = (duration / count) x (i + 0.5), where i is the zero-based frame index.

The midpoint offset is deliberate. Sampling from the start of each segment would put the first capture at t=0, and the first frame of a video is very often black, a fade-in, or a title card - technically correct and completely useless. Starting half a segment in avoids that.

For a 60-second video at 10 frames, captures land at 3s, 9s, 15s, 21s, 27s, 33s, 39s, 45s, 51s and 57s. The final frame is also clamped just short of the end, because seeking exactly to the last timestamp fails on a surprising number of files.

Why a frame can differ from what you saw while scrubbing

Compressed video does not store every frame as a complete picture. It stores occasional keyframes in full, then describes the frames between them as changes relative to those keyframes. When a player scrubs quickly it often shows the nearest keyframe rather than decoding everything in between, which is why scrubbing looks blocky and then snaps into focus when you stop.

Extraction waits for the decode to actually complete before capturing, so the saved image is the true frame at that timestamp. If it looks different from what you remember seeing while dragging the scrubber, the saved frame is the accurate one.

Variable frame rate footage

Screen recorders, phone cameras in low light, and most game capture software produce variable frame rate video - the interval between frames changes depending on how much is happening on screen. A VFR file might run at 60 fps during motion and drop to 5 fps on a static screen.

Timestamp-based extraction handles this correctly, because it asks for a moment in time rather than a frame number. What it means in practice is that "every 30th frame" is not a meaningful request on VFR footage, while "every two seconds" always is. If you need strict frame-number accuracy for analysis work, convert to constant frame rate first.

FAQ

How does frame extraction work?

The browser’s HTML5 video decoder seeks to each target timestamp, and the Canvas API draws the decoded frame into an off-screen canvas which is then encoded as JPEG, PNG or WebP. Everything happens on your device.

Can I extract a frame at a specific timestamp?

Not directly yet - frames are sampled at even intervals. To get close to a specific moment, raise the frame count so the interval shrinks. On a 5-minute video, 300 frames gives roughly one per second.

What browsers work best?

Chrome and Edge have the broadest codec support and the fastest seek performance. Firefox works well for H.264 and WebM. Safari is the only browser that reliably handles HEVC, which matters for iPhone footage.

Is this free?

Yes. No account, no watermarks, no paid tier. Extraction runs on your hardware, so there are no server costs to recover.

Related guides

Related tools