Extract frames from video
Extract still frames from an MP4 or WebM video as JPG or PNG images, or turn a clip into an animated GIF, free and in your browser with no upload. Take frames at a rate, a count or an interval.
Plays the video in this tab and captures frames from it. Nothing is uploaded, and the file never leaves your machine.
In detail
Video frames captures still images from a video file at the 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, so 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. It reads whatever your browser can play, usually MP4 (H.264) and WebM. A GIF holds 256 colors, so film grain and gradients band.
Extract frames from video at a glance
- Input
- MP4, WebM, MOV or Ogg video that your browser can play
- Output
- PNG, JPEG or WebP images in a ZIP, or one animated GIF
- What it does
- Frames by rate, count or interval
- Start and end markers
- An image ZIP or an animated GIF
- Real frame timing in GIFs
- Up to 600 frames
- Who it is for
- Creators, editors and anyone grabbing a still from a clip or turning a clip into a GIF.
- Limits
- Up to 600 frames per export.
- A format your browser cannot play cannot be opened.
- Privacy
- Runs entirely in your browser: the video is never uploaded, and nothing is kept after you close the tab.
How to extract frames from a video
- 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.
- 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.
- 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.
- Pick the output Separate images gives one file per frame in a ZIP, in PNG, JPEG or WebP at a quality you set. Animated GIF gives one file whose frame delays are taken from the real gaps between the timestamps.
- 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.
Extract frames from video: common 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 license 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-color 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.