How to grab video frames as png or jpg with no install
- Step 1Open the page in any browser — No download, no admin prompt. Chrome, Edge, Firefox, or Safari on a managed laptop, Chromebook, or kiosk all work — the tool is just a web page.
- Step 2Drop the video in — Load the MP4/MOV/MKV/WebM/AVI. It stays in the browser tab; nothing is sent to a server, so it clears corporate upload restrictions. One file per run.
- Step 3Set the interval — Enter the seconds between grabs in Interval (seconds) (1–120). For just a few stills from a short clip, a small interval is fine; to grab one frame near a specific point, see step 6.
- Step 4Choose PNG or JPG — PNG for lossless captures (screenshots of UI/text stay crisp); JPG for compact photo-like frames. JPG is fixed at
-q:v 2, PNG at-q:v 0. - Step 5Run and download the ZIP — FFmpeg.wasm grabs the frames in-tab and packages
<yourvideo>-thumbnails.zip. Open it to keep the stills you want — there's no in-page preview/select step. - Step 6Want exactly one frame at a specific moment? — This grabs on an interval, not a single click-to-capture. Trim the clip to a few seconds around the moment with lossless-trimmer (also install-free), then extract at interval 1 to get the closest frames.
Browser grabber vs. desktop apps
Why a browser-based grabber wins on locked-down hardware. Native resolution matches VLC's snapshot quality.
| Aspect | This grabber (browser) | VLC / HandBrake (desktop) |
|---|---|---|
| Install / admin rights | None needed | Requires install (often blocked) |
| Runs on Chromebook / kiosk | Yes | Usually not |
| Frame resolution | Native (full quality) | Native (full quality) |
| Data leaves the machine | No — local FFmpeg.wasm | No (local app) |
| Single click-to-grab one frame | No — interval-based, trim first | Yes (VLC snapshot) |
Grabber controls (the only two)
Verified against the implementation. There are exactly two options; no resize, count, or single-frame timeline control exists in this tool.
| Control | Values | Default | Note |
|---|---|---|---|
| Interval (seconds) | 1 – 120 | 5 | Seconds between grabs (fps=1/interval) |
| Format | jpg, png | jpg | JPG -q:v 2; PNG lossless -q:v 0 |
| Resize | not available | — | Native resolution; downscale via video-resizer first |
| Single-frame pick | not available | — | Trim to the moment first, then interval 1 |
Cookbook
Quick-grab recipes for locked-down machines, with the FFmpeg command the tool runs in the tab. No install required for any of them.
Grab a few stills from a 30-second clip on a Chromebook
No app to install on a school Chromebook. A 2-second interval over 30 seconds gives ~15 native-resolution frames to choose from.
Settings: interval = 2, format = jpg FFmpeg (in the browser tab): ffmpeg -i clip.mp4 -vf fps=1/2 -q:v 2 frame_%04d.jpg Result: clip-thumbnails.zip → ~15 frames
Lossless PNG grab of an on-screen UI demo
A screen-recording demo where text and UI must stay crisp. PNG keeps edges sharp; JPG would soften them.
Settings: interval = 1, format = png FFmpeg: ffmpeg -i demo.mp4 -vf fps=1/1 -q:v 0 frame_%04d.png Result: lossless UI stills, native resolution
One frame near a specific moment (no single-grab control)
You need the frame at ~0:42. Trim a 4-second window first (install-free), then grab at 1s to get frames right around it.
Step 1 — lossless-trimmer: cut 0:40-0:44 → moment.mp4 Step 2 — frame grabber on moment.mp4 interval = 1, format = png ffmpeg -i moment.mp4 -vf fps=1/1 -q:v 0 frame_%04d.png → ~4 frames around 0:42; keep the best
Corporate laptop, no upload allowed
Company policy blocks installs and uploads. The grabber is a web page and runs the file locally, satisfying both rules.
No install, no upload — runs in-tab via FFmpeg.wasm Settings: interval = 5, format = jpg ffmpeg -i internal.mp4 -vf fps=1/5 -q:v 2 frame_%04d.jpg → frames extracted with zero data egress
Kiosk: grab signage frames for a report
A kiosk browser can't install software. Wide interval gives a few representative frames of a looping signage video.
Settings: interval = 30, format = jpg FFmpeg: ffmpeg -i signage.mp4 -vf fps=1/30 -q:v 2 frame_%04d.jpg Result: one frame every 30s for the report
Edge cases and what actually happens
You wanted to click once and grab a single frame
By designThis grabber samples on a time interval; there's no single click-to-capture or timeline-scrubber pick. To target one moment, trim to a few seconds around it with lossless-trimmer (also install-free) and extract at interval 1.
Old or restricted browser can't run FFmpeg.wasm
Unsupported browserFFmpeg.wasm needs a reasonably modern browser with WebAssembly. Very old or heavily restricted kiosk browsers may not support it. Use a current Chrome/Edge/Firefox/Safari build.
Big file slow on low-RAM managed hardware
Memory/perf limitThin clients and budget Chromebooks have limited memory; decoding a large source and zipping many native-resolution frames can be slow or run out of memory. Use a wider interval or trim the source first.
Frames are full resolution and you wanted small ones
By designOutput matches the source resolution; there's no resize control. Downscale the video first with video-resizer or resize the images afterward.
File exceeds the Free 1 GB cap
Rejected over limitA large recording can be over 1 GB. Trim with lossless-trimmer to get under the cap, or upgrade (10 GB Pro, 100 GB Pro-media/Developer). No minutes cap — only size.
Corporate network blocks the page assets
Network/proxy blockThe tool itself runs locally once loaded, but a restrictive proxy might block loading the page or the FFmpeg core assets. If the page won't load, that's a network policy issue, not the tool — the actual processing never uses the network.
Container/codec FFmpeg.wasm can't read
Decode errorAn exotic or corrupt file fails to decode with a log tail. Remux to MP4/MKV (e.g. via video-transcoder) and retry.
Interval set sub-second for a fast grab
ClampedMinimum interval is 1 second. To grab the closest frame to a fast moment, trim tightly around it and extract at 1s.
Frequently asked questions
Do I need to install anything?
No. It's a web page running FFmpeg.wasm in the browser tab — no download, no admin rights. That's why it works on kiosks, locked-down corporate laptops, and Chromebooks where VLC/HandBrake can't be installed.
Is the quality as good as VLC's snapshot?
Yes — frames are extracted at the source's native resolution, the same as VLC's 'Take Snapshot.' It's not a display-resolution canvas screenshot.
Does the video get uploaded anywhere?
No. Processing is entirely local in the browser tab, so nothing leaves the machine. That also satisfies most corporate data-handling policies.
Can I grab just one frame at a specific second?
Not with a single click — the grabber samples on an interval. To get the frame at a specific moment, trim to a few seconds around it with lossless-trimmer (also install-free) and extract at interval 1.
PNG or JPG — which for screenshots of text/UI?
PNG. It's lossless, so text and UI edges stay crisp. JPG can introduce blocking around sharp edges. Use JPG for photo-like frames where file size matters more.
Will it run on a Chromebook?
Yes — any modern Chromebook browser supports WebAssembly, so FFmpeg.wasm runs fine. No Linux container or app install needed.
What if my corporate browser is very old?
FFmpeg.wasm needs a current browser with WebAssembly support. Heavily outdated kiosk/corporate browsers may not work — try a current Chrome, Edge, Firefox, or Safari.
Can I resize the grabbed frames?
No resize control here — frames are native resolution. Downscale the video first with video-resizer, or resize the images afterward in any image tool.
Is there a length limit on the video?
No minutes cap. The limit is file size: 1 GB free, 10 GB Pro, 100 GB Pro-media/Developer. A long recording is fine if it's under your tier's size ceiling.
Why won't the page load on my locked-down machine?
If the page or its FFmpeg core assets are blocked by a proxy, it won't load. The processing itself is local and never uses the network — a load failure is a network-policy issue to raise with IT.
What format are the output files?
A ZIP of sequentially named frames (frame_0001.png/.jpg …) named <yourvideo>-thumbnails.zip, in capture order.
What if the file's codec isn't supported?
Extraction fails with an FFmpeg log tail. Remux/transcode to H.264 MP4 with video-transcoder and try again.
Privacy first
Every JAD Video tool runs entirely in your browser via WebCodecs and FFmpeg (WebAssembly). Your video files never leave your device — verified by zero outbound network requests during processing.