Extract video frames online, without uploading the video
Pulling a still image out of a video used to mean opening the file in a video editor, scrubbing to the right spot, and exporting a frame manually. That works for one frame. For 50 frames evenly spaced across a 10-minute video, it does not scale. This tool runs in your browser, takes a video file, and gives you back exactly the frames you asked for as JPG, PNG, or WebP images. No upload, no signup, no per-day quota.
How browser-based frame extraction actually works
Every modern browser ships with a fully featured video decoder. The HTML5 video element can load any file format the browser supports, seek to any timestamp, and report when the requested frame is ready. The tool uses a Canvas element to capture the video's current frame as a 2D image, then encodes it as JPG, PNG, or WebP using the Canvas toBlob method. The whole pipeline runs in your browser's main thread in milliseconds per frame.
Because the decoding happens in the browser, the supported video formats depend on which browser you use. Chrome and Edge handle the widest range including MP4, WebM, MOV, AVI, and MKV. Safari is the only browser with native H.265 (HEVC) support. Firefox is strongest on the open formats like WebM and AV1. If your video file does not play in the browser tab when you open it directly, this tool will not be able to extract from it either.
The five extraction modes and when to use each
Single frame at a timestamp is for pulling out one specific moment. You type the timestamp in seconds (like 15.5 for the frame at 15 and a half seconds in) and the tool gives you that one frame. Useful for thumbnails, single illustrative frames, or replicating a screenshot from a video.
Every N seconds is the classic time-lapse style extraction. Set N to 1 and you get one frame per second of the video. A 60-second video gives you 60 frames. Useful for storyboards, video review sheets, or building a time-lapse from regularly spaced frames.
Every N frames works in frame units instead of time units. For a 30 fps video, every 30 frames is one frame per second. Every 5 frames at 30 fps is 6 frames per second. Useful for analysis where you want a specific frame rate sample.
Custom timestamp list takes a comma-separated list of seconds (like "0, 5, 12.5, 27, 60") and gives you exactly those frames. Useful when you already know the specific moments you want.
All keyframes extracts the iframes (intra-coded frames) the video encoder marked as compressible keyframes. These are the highest-quality frames in the video because they were encoded without inter-frame prediction. Capped at 200 frames to avoid creating gigantic ZIPs from long videos.
Format and quality choices
JPG is the smallest file size at any given quality level. Use it when you have a lot of frames and want manageable file sizes. The quality slider goes from 50 to 100; 90 is a good default that looks indistinguishable from the source at typical screen sizes.
PNG is lossless. Every pixel is stored exactly as it was in the source frame. The output file is larger (typically 5 to 10 times bigger than the JPG equivalent) but there is no compression artifacting. Use PNG when you need pixel-perfect frames for machine learning datasets or precise color analysis.
WebP sits between JPG and PNG. It is about 25 percent smaller than JPG at the same visual quality and handles transparency if your source video had it. WebP is the right pick for web use cases where every kilobyte matters.
Resize on the fly
The max width input rescales each frame as it is extracted. A 4K video has 3840-pixel-wide frames. If you only need 720-pixel thumbnails for a website, setting max width to 720 saves a huge amount of file size and processing time. Set max width to 0 to keep the original source resolution.
Pairing with other tools
If your video file is huge and slow to load, consider compressing it first with a video compressor before extraction (we are working on adding one). Once you have your extracted frames, the image compressor can shrink the JPG outputs further for web use. To resize all frames to a specific aspect ratio, run them through the image resizer. To convert the extracted JPGs into a single GIF or animated WebP, you can use a video editor.