Tools › Media › Video frame extractor

Video frame extractor

Get the exact frame you wanted as a picture you can use, the one where the ball crossed the line, or one every two seconds across the whole clip.

  • Step one frame at a time with the arrow keys, at the video's real frame rate
  • Captures pile up on a shelf and stay there until you save or clear them
  • Save as PNG, JPG or WebP, one at a time or the whole shelf as a ZIP
  • Your file is decoded on your own device, so even a multi-gigabyte video opens instantly
the shelf PNG · JPG · WebP
Step to a moment, press C, and it lands on the shelf. Save one, or all of them at once.
No video open
Drop a video here, or click to choose

MP4, WebM, MOV, M4V. Whatever your browser can play, at any size, because nothing is uploaded.

Free, no sign-up, nothing uploaded. Your file is decoded on your own device, so even a multi-gigabyte video opens instantly, there is no transfer to wait for.

Getting a still out of a video, in three steps

1

Drop the video in

It opens immediately, whatever its size, because the browser's own decoder reads it where it sits. MP4, WebM, MOV and M4V are safe bets.

2

Find the moment

Arrow keys step one frame at the video's measured rate. Shift jumps a second, and the Go to field takes a written time when you already know it.

3

Capture, then save

Press C or the button and the frame lands on the shelf. Take as many as you like, then save one or take the lot as a ZIP.

Frame rates, and why the tool asks

RateWhere it comes from
23.976Film transferred for broadcast
24Cinema
25PAL regions: Europe, Australia
29.97NTSC: North America, Japan
30Most phone video and screen capture
50 · 59.94 · 60Sport, gaming, high-frame-rate phone modes

Why the frame rate has to be measured

A web page cannot read the frame rate out of the file. Containers carry a nominal rate that is not exposed to a page, and variable-frame-rate video, which is what most screen recordings and phone videos are, does not have a single one at all.

What can be done is to measure it: ask the browser how many frames it has actually presented and at what media time, take two readings, and divide. That gives the real interval between real frames.

One trap in that measurement is worth knowing about. 29.97 and 30 are a tenth of a percent apart, so any tolerance wide enough to absorb measurement noise will match both. A naive implementation takes whichever it checks first, and reading a genuine 30fps clip as 29.97 produces a step that drifts off the frame boundary within a few hundred frames. The answer has to be the nearest standard rate, not the first plausible one.

If a tool lets you override the detected rate, that is not a sign it is guessing badly. It is a sign it knows it might be.

Choosing a format

Worth knowing: video is already heavily compressed, so a frame you pull out carries the codec's artefacts with it. Saving as PNG preserves those artefacts perfectly. It does not recover anything.

Why the series is capped at 300

Not a licence limit, what a browser holds comfortably. Asking for 30fps across a two-hour film is 216,000 images, and what you actually wanted was a sample.

When the cap bites, the tool says so: that asks for 18,001 frames; taking the first 300. A longer interval or a shorter range covers more of the video.

Names that sort

This sounds trivial until there are three hundred files in a folder. A name carrying a bare number of seconds sorts wrongly the moment the clip passes ten, frame-9 lands after frame-10.

Every capture is named clip-00h00m12s500ms.png: fixed width, so a file browser sorting by name sorts by time, and milliseconds rather than hundredths so two adjacent frames at 60fps cannot collide.

Questions

Is my video uploaded?

No. It is decoded by your own browser, which is why a multi-gigabyte file opens instantly and there is no size cap.

Why will my MKV or AVI not open?

The browser's video decoder does not handle every container, even when it handles the codec inside. That is the browser's limit rather than this page's, and there is no way round it from a web page.

Can I get every frame?

Up to 300 in a run. Beyond that a browser starts to struggle holding the images, and what is usually wanted is a sample rather than the whole film.

Does the capture match what I see?

Yes. The frame is drawn from the video element at the moment it is paused, at the width you set, with no re-encoding of the video itself.

What happens to my captures if I close the tab?

They are gone. The shelf lives in the page, not on a server, so save what you want before leaving.

Next

The guide that goes with this