Video to Image

Step to the exact frame, save it at full resolution. Nothing is uploaded, whatever the size.

Drop a video here, or click to choose oneMP4, MOV, M4V, WebM, MKV · nothing is uploaded

Any size: only the frames you pick are decoded.

← → one frame · Shift ten
SaveFormat
Settings

PNG is lossless; quality applies to JPG and WebP.

Saves the frame on the stage at the video's full resolution. Use the arrows to land on the exact frame first.

Continue with:

What this tool does

Drop a video and the tool reads its frame table: the display time of every single frame, taken from the file's index without decoding anything. From then on the video is not a stream you scrub through by the second but a numbered list of frames — 1 of 1,800, 2 of 1,800 — and the arrow buttons or the ← → keys move exactly one frame at a time (Shift moves ten). The frame you see on the stage is decoded at the video's full resolution, and that is exactly what gets saved, not a downscaled preview.

Two ways to save. "This frame" saves the frame currently on the stage as a PNG, JPG or WebP named after the video and the timecode, so clip-00-01-23.456.png tells you where it came from. "Every N seconds" walks the whole video and saves one frame at each interval — a contact sheet of the clip, packed into a ZIP. Everything happens on your device: a 2 GB recording is opened in place, only the frames you ask for are decoded, and nothing is uploaded anywhere.

How to use it

Drag the slider under the picture to the rough position, then use ‹ › to step one frame and « » to step ten until the picture is exactly right. You can also type a time into the timecode box — 83.5, 1:23.5 or 0:01:23.500 all work — and the tool jumps to the last frame on or before that moment. The line above the stage shows resolution, frame rate, duration and the total frame count, so you know the space you are moving in.

Choose the format before saving. PNG is lossless and the right choice for text, screenshots and anything you will edit again; JPG and WebP are smaller and fine for photographic frames, with a quality slider under Settings. For "every N seconds", enter the interval; the line next to the button tells you how many frames that yields before you start, and the batch stops at 200 frames so a long video cannot fill your memory by accident. The result appears as a list with a thumbnail per frame and a single Download all button that packs the lot into one ZIP.

Things worth knowing before you save

An image cannot be sharper than the video it came from. A 1080p clip yields 1920 × 1080 images; if the video was compressed hard, the frame carries the same blocking, and a frame taken during fast motion carries the same motion blur, because that blur is in the picture itself. Frame stepping helps here: the sharpest frame is often one or two frames away from the one you first stopped on. Videos with a rotation flag (most phone footage) come out upright, because the tool applies that flag when it decodes. A file whose codec your browser cannot decode — some old AVI or WMV content, or HEVC on a machine without hardware support — is reported as such rather than rendered as a blank; converting it to MP4/H.264 first solves that. Frames from copy-protected streams cannot be grabbed at all, by design of the platform, not of this tool.

Background: why a video is a list of frames

Film has been a sequence of still pictures since the Lumière brothers projected 16 frames per second in 1895, and digital video kept the idea: a container such as MP4 (ISO/IEC 14496-14, standardised in 2003) stores an index that records where every compressed frame lives and when it should be shown. What changed with compression is that most frames are not stored whole — since MPEG-1 in 1993 a typical frame only encodes its difference from neighbouring frames, and only occasional key frames are complete. That is why a media player can only jump cleanly to key frames, and why "seek to 1:23.5" in a browser's video element lands somewhere near that time rather than on a specific frame. Reading the index directly, as this tool does, gives back the frame-by-frame view that film always had.

Where people use it

Thumbnails and cover images for uploads, where the platform's automatic choice is a blink or a blur; stills from screen recordings for documentation and bug reports; product photos from a slow pan of an item; reference frames for animators and illustrators; a contact sheet every 10 seconds to review a long lecture or a dashcam file without watching it all; frames from a drone flight for a report; and the one frame of a family clip that deserves to be a print. The output is an ordinary image, so the rest of the site applies to it directly: crop it, shrink it for the web, or remove the background to place the subject on a clean page. If the clip itself needs a fix first, rotate the video before grabbing frames. To keep only part of the clip, Trim Video cuts it without re-encoding.

Frequently asked questions

Is the saved image the full video resolution?

Yes. The frame is decoded at the video's display size — 1920 × 1080 for a 1080p clip, 3840 × 2160 for 4K — and saved as is. The stage only scales it to fit your screen.

How do I get exactly one frame earlier or later?

Use the ‹ › buttons or the ← → keys; each press moves exactly one frame. Shift with the arrow keys, or « », moves ten. The counter shows which frame of how many you are on.

PNG or JPG?

PNG keeps every pixel and suits screenshots, text and anything you will edit again. JPG and WebP are several times smaller and fine for photographic frames; set the quality under Settings.

Why is there a limit of 200 frames per batch?

Frames are saved at full resolution, and a few hundred 4K PNGs would use several gigabytes of memory. Use a larger interval, or run the batch twice on different parts of the video.

Is the video uploaded?

No. The file is opened on your device and only the frames you ask for are decoded. Nothing is sent anywhere, and the page keeps working offline once loaded.