Video Frame Extractor

Every frame, pulled out and ready to grab.

Processed entirely in your browser — nothing is uploaded
Drop a video here, or click to browse MP4, WebM, MOV — whatever your browser can already play
— Duration: — Resolution: —
Browsers don't expose a video's exact fps, so this estimate is used to plan "every frame" and the frame cap below.
85%
Grabbing frames…0 / 0

0 frames

What does "every frame" actually grab?

Browsers don't let a page read a video file's frames directly. This tool plays the video at normal (or faster) speed and captures each frame as the browser renders it, using the same low-level hook video players use internally (requestVideoFrameCallback) where your browser supports it — which is effectively frame-accurate on current Chrome, Edge, Firefox, and Safari. On an older browser without that API, it falls back to grabbing frames at the estimated frame rate above instead.

Why is there a frame cap?

A 10-minute video at 30fps has 18,000 frames — extracting and holding all of those as separate images can exhaust your browser's memory and crash the tab. The cap keeps things extracting the frames evenly spaced across the video instead of stopping partway through, once the video would produce more frames than the cap allows. Raise it if you know your device can handle more.

Does this upload my video anywhere?

No. Every step — playback, frame capture, encoding, zipping — happens locally using your browser's own video and canvas APIs. Nothing about the video or its frames ever leaves your device.