Local Processing · No Upload · No API Key
Video to Image & GIF Extractor
Pull still frames (PNG, JPG, WebP) or build a looping animated GIF from browser-decodable video — decoded and captured entirely in your browser, with direct downloads for extracted frames and GIF output.
video-frame-extractor v2.3
Extracted frames
0 framesIndividual frames used in this GIF
From video to frames in four steps
No installs, no accounts, no uploads — the browser does all the work.
Upload video
Drop a file up to 10 MB. It stays on your device as a local object URL.
Pick a mode
Auto interval for batch extraction, or manual timeline for exact timestamp capture.
Choose output
PNG, JPG, or WebP stills — or an animated GIF plus its individual frames.
Download
Grab single frames, direct animated GIF, or package everything into a ZIP.
Precision, privacy, and predictability
What happens inside the tool — and what deliberately does not.
Zero upload
Frames are drawn from a local video element onto a canvas and encoded in-page. The video, extracted frames, and generated GIF are not uploaded to a processing server.
Seek-accurate capture
Each frame waits for the seeked event plus two animation frames before capture, synchronizing the canvas with the requested video timeline.
Built-in encoders
ZIP and GIF containers are generated directly in JavaScript, without third-party encoder libraries or additional WASM downloads.
Four output types
Pick the format that fits your downstream workflow.
.png
Lossless still images with no additional PNG compression loss. Best for screenshots and documentation.
.jpg
Small compressed stills at 92% quality. Best for photo-like frames and lightweight sharing.
.webp
Modern image format with efficient browser-side encoding and strong size/quality balance.
.gif
Looping animation plus direct GIF and frame downloads. 216-color palette, up to 480 px.
What it does, and what it does not
Clear boundaries so you know when to reach for another tool.
What it does
- Extract up to 200 still frames at intervals from 0.1 s to 10 s.
- Capture a single frame via manual timeline scrub.
- Build looping animated GIFs (up to 60 frames) from a range.
- Direct GIF download button and per-frame gallery download.
- Export PNG, JPG, or WebP per frame, or all frames + GIF as ZIP.
- Process supported videos locally in the browser without server-side conversion.
What it does not
- Accept videos above 10 MB — browser memory is the ceiling.
- Decode codecs your browser cannot play (e.g. HEVC on some systems).
- Produce broadcast-quality GIFs — the format is limited to 256 colors.
- Edit, trim, or re-encode the source video itself.
Common issues and fixes
Quick answers to the most frequent problems.
Video won't load
The browser must be able to decode the codec. MP4 (H.264) and WebM are safest. HEVC, WMV, or unusual MKV tracks may fail on some systems.
"Too many frames" error
Your range and interval would exceed 200 frames (60 for GIF). Increase the interval or shorten the range.
Frames look blank
Some codecs delay decoding after a seek. Wait a moment and re-capture, or use a keyframe-friendly format like WebM/VP9.
GIF file is large
GIF stores every frame with a fixed palette. Reduce width to 240 px, raise the interval, or shorten the range.
Frequently asked questions
Honest answers about the extractor.
Is my video uploaded to a server?
No. Frames are decoded and captured locally using the HTML5 video element and canvas. Your video file never leaves your device, and no API key or account is required.
How do I download the animated GIF?
When you generate a GIF, use the Download Animated GIF button on the GIF card preview or in the action row. You can also download the ZIP archive which contains both the GIF and every individual frame.
Which output formats are supported?
Still frames can be exported as PNG, JPG, or WebP. Auto mode can also build a looping animated GIF (216-color palette) from a selected time range.
Why is there a 10 MB video limit?
Frame extraction keeps decoded images in browser memory. The 10 MB input cap and frame limits reduce memory usage, but high-resolution videos can still use substantial memory depending on the browser and device.
Why does my GIF look lower quality than the video?
The GIF format supports at most 256 colors per frame and works best at small sizes. The encoder uses a 216-color palette and downscales width to 480px or less, which is normal for browser-generated GIFs.
Can I download all frames at once?
Yes. After any extraction — image mode or GIF mode — the Download All button packages every frame shown in the gallery into a ZIP file using a built-in encoder.