Video Frame Extractor

Open a video and save any frame as a PNG or JPG image: one, one every few seconds, or all of them. Decoded on your device, nothing is uploaded.

Extract frames from a video

Free. Your video stays on your device: frames are decoded and saved locally, never sent anywhere.

Drop a video here

or

MP4, MOV, MKV or WebM.

Same frames with ffmpeg
ffmpeg -i video.mp4 -vf fps=1 video_%04d.png
Quoted for

To extract a frame from a video, open the file above, move the player to the moment you want and press Capture frame: the frame is decoded at full resolution and saved as a PNG or JPG. To get many frames at once, choose one every few seconds, a set number spread over a range, or every frame, then download them one by one or in a single ZIP. The video never leaves your device.

How to extract frames from a video

  1. Open the video. Drop an MP4, MOV, MKV or WebM file on the box above, or press Choose a video. The page shows its dimensions, its duration and, when it can read it, its frame rate.
  2. Choose what to extract. The frame shown in the player, one frame every few seconds, a number of frames spread evenly over a range, or every frame of a range.
  3. Choose PNG or JPG and the width. Original keeps the video's own resolution; a smaller width makes lighter images for slides or the web.
  4. Press Capture frame or Extract frames. Thumbnails appear as the frames are decoded. Download any image on its own, or all of them with Download all (ZIP).

Each image is named after the video, its position and its exact timestamp, for example lecture_0007_12m30.000s.png, so the files sort in time order and you can always find the moment again.

Four ways to pick the frames

The frame shown in the player

Pause or drag the player to the right moment and capture it. This is the quickest way to make a thumbnail for your own video, grab a slide from a recorded presentation, or keep a still of a family video. Capture as many as you like: each one is added to the list.

One frame every few seconds

Set an interval, for example every 5 seconds, and a range. This turns a video into a contact sheet: useful to review a long recording, to document a screen capture step by step, or to collect frames for a photogrammetry or machine learning project.

A number of frames, evenly spread

Ask for 12 frames and the page divides the range into 12 equal parts and takes the frame in the middle of each one. This avoids the black first frame and the fade-out at the end, and gives a balanced overview of any video, whatever its length.

Every frame

Every frame of a range, as many images as the video has frames: 25 or 30 per second for most videos, 60 for gameplay and sports. It is the mode for frame-by-frame analysis of a movement, an animation or an incident. The page extracts up to 600 frames at a time, so keep the range to a few seconds.

MP4 to PNG or MP4 to JPG?

PNGJPG
QualityLossless: no compression loss on the decoded frameLossy, adjustable from 50 to 100 %
Size of a 1080p frameSeveral MB for detailed picturesA few hundred KB at 92 %
Best forText and screen recordings, editing, datasets, archivingThumbnails, slides, documents, sharing

A frame from a compressed video already carries the artifacts of that compression; PNG keeps the frame as it was decoded, without adding any. JPG adds its own, small at 90 % and above. For a thumbnail that will be uploaded to a platform that recompresses images anyway, JPG is the sensible choice.

Exact frames, not screenshots

A screenshot copies your screen: the video is often scaled to the size of the player, the controls may be drawn on top, and the picture can be caught between two frames. This page decodes the frame itself. In Chrome, Edge and other browsers with WebCodecs, it reads the video's compressed data and decodes the exact frame displayed at each timestamp, at the video's own resolution. The timestamp in each file name is that of the decoded frame.

When WebCodecs cannot decode a file, the page falls back to the browser's own player, seeks to each time and copies the picture. The result is still a full-resolution frame, but seeking is slower, so the Every frame mode is turned off in that case.

To turn a short part of the video into an animation instead of separate images, use the video to GIF converter, which works the same way, on your device.

Other ways to extract frames

ffmpeg

For long videos and whole folders, ffmpeg is the reference. The page shows the command that matches your settings under Same frames with ffmpeg; the common forms are:

ffmpeg -ss 83 -i video.mp4 -frames:v 1 frame.png
ffmpeg -i video.mp4 -vf fps=1/5 frame_%04d.png
ffmpeg -ss 10 -to 14 -i video.mp4 -fps_mode passthrough frame_%05d.png

The first takes the frame at 1 minute 23, the second one frame every 5 seconds, the third every frame between 10 and 14 seconds. Use .jpg with -q:v 2 for high-quality JPG files.

VLC

VLC saves the current frame with Video, Take Snapshot (Shift+S on Windows and Linux, Cmd+Alt+S on macOS), as a PNG in your Pictures folder (the Desktop on macOS). For a frame every N frames, the Scene video filter in the advanced preferences writes images while the video plays, which is slow and fiddly to set up.

Limits

The video is on a website?

Vidora is a Chrome extension that saves the video playing on a page as one MP4 with picture and sound, HLS streams included. Save it, then extract its frames here.

Frequently asked questions

How do I extract a frame from a video?
Open the video on this page, play or drag the player to the moment you want, and press Capture frame. The page decodes that frame at the video's full resolution and gives you a PNG or JPG to download. Repeat for as many frames as you need; each one is added to the list.
How do I extract all frames from a video?
Choose Every frame, set the start and end of the part you want, and press Extract frames. A 30 fps video gives 30 images per second, so keep the range short: the page extracts up to 600 frames at a time. For a whole film, ffmpeg is the better tool, and the page shows the command.
Is my video uploaded?
No. The video is read from your disk and decoded by your browser; the images are created on your device. Nothing is sent to a server, so private recordings stay private and large files need no upload.
Should I save frames as PNG or JPG?
PNG saves the decoded frame without any compression loss, which suits screenshots of text, editing and machine learning datasets; a detailed 1080p PNG often weighs several MB. JPG is several times smaller and fine for thumbnails, slides and sharing; at 92 % quality the difference is hard to see.
Is a captured frame better than a screenshot?
Usually, yes. A screenshot copies what your screen shows: the player may be scaled down, overlaid with controls or captured between two frames. This page decodes the frame itself, at the video's own resolution, with nothing drawn on top.
Can I extract frames from MOV, MKV or WebM files?
Yes. The page reads MP4, MOV, MKV and WebM. The video must use a format your browser can decode: H.264, VP8 and VP9 work in current Chrome and Edge, AV1 in Chrome, and H.265 (HEVC) when your computer's hardware decodes it. When a file cannot be decoded, the page says so and shows the ffmpeg command.
How do I extract frames from a video with ffmpeg?
One frame every second: ffmpeg -i video.mp4 -vf fps=1 frame_%04d.png. A single frame at 1 minute 23: ffmpeg -ss 83 -i video.mp4 -frames:v 1 frame.png. Every frame: ffmpeg -i video.mp4 -fps_mode passthrough frame_%05d.png.

Romain Gouraud, RGC Digital LLC

Updated 2026-10-20. The timestamp planning, file naming and ZIP writing were tested under Node (ZIP checked by Python's zipfile), and the ffmpeg commands shown by the page were run with FFmpeg 6.1.1 on a test video. Video reading and decoding use Mediabunny 1.61.3 (MPL-2.0, license), the same build as the video to GIF converter.