Video frames

Video frames captures still images out of a video file at timestamps you choose, and saves them either as separate images in a ZIP or as one animated GIF. The file is played in a hidden video element in your own tab and read frame by frame off a canvas, so nothing is uploaded and no server does the decoding. You can sample at a frame rate, ask for a fixed number of frames spread evenly across a range, or take one every N seconds, up to 600 frames per export.

How it works

  1. Drop a video Drag in an MP4, WebM, MOV or Ogg file. It is read from disk through a blob URL, and the duration and pixel size appear once the header is read. A screen recording that carries no duration is measured by seeking past its end.
  2. Set the range Drag the playhead to look through the clip and mark a start and an end. The frame shown at the playhead is the frame that gets captured.
  3. Choose how many frames Pick a frame rate, a fixed count spread evenly from the start time to the end time, or an interval in seconds. The number of frames your settings ask for is shown before you run anything.
  4. Pick the output Separate images gives one file per frame in a ZIP, in PNG, JPEG, WebP or AVIF at a quality you set. Animated GIF gives one file whose frame delays are taken from the real gaps between the timestamps.
  5. Extract and download Press Extract frames. Each timestamp is seeked to and the browser's seeked event is waited for before the pixels are copied, so no image in the set is a stale duplicate of the one before it.

Questions

Which video formats can it read?
Whatever the browser you are using can already play, because the decoding is done by the browser's own player rather than by a bundled codec. That is usually MP4 with H.264 and WebM with VP8 or VP9, and often AV1 or HEVC. There is no transcoding step, so if the browser refuses a file the tool says so and lists the formats it reported it can play.
How many frames can I take at once?
600 per export. That is a memory limit on what one browser tab can hold, not a licence restriction: a two-hour clip at thirty frames a second would otherwise ask the tab for two hundred thousand images. If your settings ask for more, the tool tells you the number it worked out and cuts the range short at 600.
Why does the GIF look different from the video?
A GIF holds one 256-colour palette for the whole animation, so gradients and film grain band. GIF also stores frame delays in hundredths of a second, so each gap is rounded to the nearest 10 ms, and anything under 20 ms is raised because browsers treat a shorter delay as 100 ms and would play the file slower than asked.

Every tool