Extract every frame from a video

Drop a video here

or click to choose — MP4, M4V and MOV are decoded frame by frame; WebM and MKV are read during playback

Turn a video into a numbered image sequence without uploading it anywhere. Every coded frame is decoded exactly once and handed to you in order — not sampled by jumping the playhead around, which is how most online frame extractors work and why they quietly hand you the same picture twice. Choose PNG for exact pixels, JPG for small files, take every frame or every nth, and download the lot as a ZIP.

How to turn a video into frames

  1. Drop an MP4, M4V or MOV into the box above, or click it to choose one. The line underneath shows what the file actually contains: dimensions, codec, duration and how many coded frames it holds.
  2. Choose which frames you want — every one, every nth, or one every n seconds.
  3. Pick PNG, JPG or WebP, and optionally a maximum width or a time range.
  4. Press Extract frames. Each frame appears with its number, its timestamp and its size. Download them one by one, or untick the ones you do not want and take the rest as a ZIP.

Why the frame count is printed on the page

Almost every online frame extractor works the same way: it loads your video into a hidden player, moves the playhead to a time, and copies whatever is on screen into a canvas. That is simple, and it is not accurate. Seeking is not frame exact — ask a browser for the frame at 1.033 seconds and you get whichever frame the decoder can produce near that point. On a long clip, or one with widely spaced keyframes, two requests a fraction of a second apart can return the same picture, and frames in between are never seen at all.

Nothing tells you this has happened. You get a folder of images, some of them duplicates, and unless you compare them by eye you will not know.

This tool reads the container instead and hands each stored frame to the decoder in order, exactly once. That is why the page can show you three numbers after every run: how many coded frames the file contained, how many were decoded, and how many came out. When the first two match, no frame was repeated and none was missed. It is a claim you can check rather than a promise you have to accept.

ApproachHow frames are locatedCan it duplicate a frame?Does it tell you?
Seek and screenshot (the usual method)Playhead jumps to a timestampYesNo
Play and captureFrames as they are presentedNo, but frames can be droppedOnly if it counts them
Demux and decode (this tool, MP4 family)Every stored frame, in orderNoYes — counts are shown

Which format to choose

The frames come out of the decoder as exact pixels. What happens next is your choice:

  • PNG stores those pixels without further loss. Use it whenever the frames will be measured, compared, edited or pushed through another tool. It is also the largest — a thousand frames from a 1080p clip is a big folder.
  • JPG is the practical choice for browsing, reference and contact sheets. At 85% the difference is hard to see and the folder is a fraction of the size.
  • WebP sits between the two and is the best option if the frames are going onto a web page.

Remember that the video was already compressed before you started. No still taken from it is pristine; PNG simply avoids adding a second round of loss on top of the first.

What about WebM and MKV?

Those containers are read a different way — by playing the video and capturing each frame as it is presented. It is slower, it runs in real time, and if your machine is busy the browser will drop frames. The tool does not pretend otherwise: it says which path it used, and on the playback path it reports how many frames the browser dropped so you know whether the sequence is complete.

Size, speed and limits

There is no upload, so there is no file size cap to argue with. What limits you is memory, and the thing that consumes it is the number of frames you keep rather than the length of the video — which is why there is a default ceiling on extracted frames that you can raise. Decoding does not run in real time: a two minute clip does not take two minutes.

If the folder of frames turns out to be too large to send anywhere, that is a separate problem with its own trap — a 500 KB limit does not always mean 500 KB. The target size compressor takes the whole batch.

If you wanted a clip rather than stills

Extracting frames is the right move when you need individual pictures: a thumbnail, a moment to compare, a sequence to step through. If what you actually want is a short animated version of the clip, video to GIF goes straight there and can fit a size limit such as Discord's. To pull the sound out instead, use extract audio from video, which copies the audio without re-encoding it.

Frequently asked questions

How do I extract all frames from a video?

Drop the file in, leave the interval on Every frame, pick a format and press Extract. The tool reads the video's own frame list, decodes each entry once and shows you the result with its frame number and timestamp. When it finishes it tells you how many coded frames the file contained and how many came out, so you can see the two numbers match rather than take it on trust. Download them individually or all together as a ZIP.

Why do other frame extractors give me duplicate images?

Because they move the playhead and screenshot the video element. Seeking is not frame accurate: ask for 1.033 seconds and the browser gives you whichever frame it can decode near that point, which on a long or heavily compressed clip can be the same frame you got a moment ago. Nothing warns you. This tool decodes the compressed frames directly instead, in the order they are stored, so a duplicate is not possible - and it prints the frame count so you can check.

What video formats can I use?

MP4, M4V and MOV get the exact path: the container is read, frames are decoded one by one and the count is guaranteed. WebM and MKV fall back to reading frames during playback, which is slower and can miss frames if your machine is busy. The tool says which path it used and, on the fallback, reports how many frames the browser dropped rather than hiding it.

PNG, JPG or WebP - which should I pick?

PNG if the frames are going into anything that will be edited, compared or measured: it stores the decoded pixels exactly. JPG if you want a manageable folder and small losses do not matter - a thousand PNG frames from a 1080p clip can run to several gigabytes, the same frames as JPG a small fraction of that. WebP sits in between and is a good default for a contact sheet or a web gallery.

How do I get one frame every second instead of all of them?

Switch the interval to Every n seconds and type 1. The tool still decodes every frame - that is the only way to be sure of where you are in the video - but only keeps and encodes the ones on your interval, so it stays fast. Every nth frame is there too if you are thinking in frames rather than seconds.

Is there a limit on file size or length?

No limit is imposed by the tool: the video never leaves your device, so there is no upload to cap. The practical ceiling is your machine's memory, and the thing that fills it is the number of frames you keep, not the length of the video. A safety limit on the number of extracted frames is set by default and you can raise or remove it.

Are the extracted frames the original quality?

They are the decoded frames at full resolution, which is as close to original as a still can be - the video itself is already compressed, and every frame in it was stored lossily. Choosing PNG keeps those decoded pixels exactly. There is no re-compression step, no watermark and no downscaling unless you ask for one with the maximum width setting.

Does my video get uploaded?

No. The decoding happens in your browser using the same video engine the browser uses to play files. You can disconnect from the network before dropping the file in and the tool works normally - which is the quickest way to satisfy yourself about any tool that makes this claim, including this one.

What can I do with the frames afterwards?

Common next steps are making an animation from a few of them, comparing two moments side by side, or picking a thumbnail. If the goal was an animated clip rather than stills, video to GIF does that in one step and can fit a size limit. If a folder of PNGs is too large to send, the target size compressor handles them in a batch.