To extract frames from video, choose a file above, pick how often you want an image and download a ZIP. This video to frames converter splits a video into still images at a fixed interval, for example one image every second, and names them in order. People use it to find the best still in a clip, make a storyboard or contact sheet, study a sports movement step by step, collect slides from a recorded class, or build an image set for a school or machine learning project. The usual advice is to install FFmpeg or VLC, or write a Python script with OpenCV. That works, but you can extract frames from video online free here in a few clicks, with no upload and no software, on a computer or a phone.
How does the frame extractor work?
The tool reads the video’s duration and makes a list of times: 0, then 0 plus the interval, and so on, while the time is less than the duration. So the number of images is the duration divided by the interval, rounded up. The video track is opened with the Mediabunny library, and the browser’s own decoder (WebCodecs) returns the frame that is on screen at each time. Each frame is drawn at full size and saved as JPG (quality 0.92) or PNG. The images are packed into a ZIP without extra compression, because JPG and PNG are already compressed, which keeps the packing fast.
Measured result from our own test: a 4-second clip at one image per second gave a ZIP with 4 JPGs named frame-0001_0.00s.jpg, frame-0002_1.00s.jpg, frame-0003_2.00s.jpg and frame-0004_3.00s.jpg. That matches the formula: 4 ÷ 1 = 4 images, at 0, 1, 2 and 3 seconds.
How to use
Choose your video
Click the box above or drag a video file onto it. You will see its name, size and resolution.
Set the interval
Pick One image every 0.5, 1, 2, 5 or 10 seconds. One second is the default. PNG is under More options.
Start and download the ZIP
Press Start and watch the progress bar. Click Download to save a ZIP of numbered images.
Why VidHaul
Choose the interval
Save one image every 0.5, 1, 2, 5 or 10 seconds. The default of one second works well for most videos.
Named by order and time
Each file is named like frame-0001_0.00s.jpg, so images stay in order and you can see the second each came from.
Full resolution, JPG or PNG
Every image has the video’s width and height. JPG keeps the ZIP small; PNG is lossless.
No upload, no software
Runs in your browser. No FFmpeg commands, no Python, no app, no sign-up and no watermark.
Extract frames from video online, step by step
Choose your video. Click the box at the top or drop the file onto it. Use Change file to swap it.
Set One image every. Pick 0.5, 1, 2, 5 or 10 seconds. A smaller number gives more images.
Choose JPG or PNG (optional). JPG is the default. Open More options to pick PNG under Output format.
Press Start. A progress bar with a percentage shows how far it has got. Press Cancel to stop.
Download the ZIP. The file ends in -frames.zip. Unzip it to see the numbered images in order.
How many frames will you get?
The interval decides the count. The chart shows the images you get from a 10-minute video at each setting.
Computed from the settings the tool uses: images = duration ÷ interval, rounded up (600 s ÷ interval).
One image every
Images per minute
At 30 fps, that is
Good for
0.5 sec
120
every 15th frame
Short clips, fast action, picking the perfect still
1 sec (default)
60
every 30th frame
Most videos, browsing a clip
2 sec
30
every 60th frame
Talks, tutorials, slow scenes
5 sec
12
every 150th frame
Longer videos, quick overview, slides from a class
10 sec
6
every 300th frame
Very long recordings, storyboards
Be careful with long videos at 0.5 seconds: a 30-minute video makes 3,600 images, which takes a while and makes a big ZIP. Start with a larger interval and go smaller only if you need to. If you only need part of a video, cut it first with the video cutter.
How to extract all frames from a video
A 30 fps video has 1,800 frames per minute. This tool saves at most 120 per minute (every 0.5 s), so it is not an every-frame exporter. That is on purpose: neighbouring frames are almost the same, and 1,800 full-size images per minute would fill a phone’s memory fast. If you truly need every frame, for example for frame-by-frame animation work, use FFmpeg on a computer. If you need one exact moment, use video to JPG, where you set the time to a tenth of a second.
JPG or PNG frames?
JPG files are lossy but small, so the ZIP stays manageable and the images are easy to share or put into slides. PNG files are lossless: every pixel is kept as it was decoded, which is useful for editing, printing or training data where you do not want extra compression. For photo-like frames PNG is usually several times bigger, so for many frames JPG is the practical choice.
Extract frames from video on iPhone and Android
iPhone
Open this page in Safari, tap the box and choose Photo Library. Press Start and Download. The ZIP goes to Downloads in the Files app; tap it once to unzip it into a folder of images.
Android
Open the page in Chrome, pick the video and press Start. The ZIP lands in Downloads. Most Android file managers, including Files by Google, can extract it. Phones have less memory, so use 2 seconds or more for long videos.
Extract frames from video on Mac and Windows
Open the page in Chrome, Edge, Firefox or Safari and drag the video onto the box. Both Windows and macOS open ZIP files without extra software. A computer is the best place for long videos and many images.
FFmpeg extract frames from video command
If you use FFmpeg, the fps filter saves frames at a fixed rate. For one image per second:
ffmpeg -i input.mp4 -vf fps=1 frame-%04d.jpg
Change fps=1 to fps=2 for every 0.5 seconds, or fps=1/5 for every 5 seconds. Python with OpenCV and VLC’s scene filter can do similar jobs. This page gives you the same result without installing anything, and it also writes the time of each image into the file name.
What can you do with extracted frames?
Find the best photo: scan a burst of action and keep the sharpest image.
Storyboards and contact sheets: one image every 5 or 10 seconds gives a quick overview of a long video.
Lecture notes: pull the slides out of a recorded class at 5 or 10 seconds.
Sports and motion study: 0.5 seconds on a short clip shows each stage of a movement.
Datasets: a ZIP of evenly spaced, full-size images is a simple starting point for image projects.
How accurate is the frame extractor?
Timing: each image is the frame on screen at its listed time. For a 30 fps video that is within one frame (33 ms) of the exact time.
Count: duration ÷ interval, rounded up. If a frame cannot be decoded at one time, that image is skipped and its number is missing from the list, so the ZIP can hold slightly fewer images.
Not every frame: the smallest interval is 0.5 s.
Codecs: if your browser cannot decode the video, the page tells you.
Memory: all images and the ZIP are kept in your device’s memory until you download. Very long videos at small intervals, or files over about 1.5 GB, may be slow or fail on phones.
Why this tool is different
Most ways to split a video into frames either need software (FFmpeg, VLC, a Python script) or an upload to a website that does the work on its server. This tool needs neither. The page loads the tool code, the video is read from your own disk, the browser’s own decoder produces each frame, and the ZIP is built on your device. Your video never travels over the network, which matters for private footage and for big files on mobile data.
The file names are also more useful than a plain counter. Each one carries both its order and its time in the video, such as frame-0042_41.00s.jpg, so when you find the image you like you know exactly where it is in the clip. You can then grab that moment again with video to JPG or cut around it with the video cutter.
What we measure
During the run, the progress percentage is the share of images already saved. When it finishes, the result box shows the size of your video and the size of the ZIP. Settings are fixed and visible: the interval you picked, JPG at quality 0.92 or lossless PNG, full video resolution. What we do not do: we do not detect scene changes or pick “best” frames for you, we do not resize or filter images, we do not add watermarks, and we do not keep any copy.
Feature
VidHaul video to frames
Typical upload-based frame extractors
Upload needed
No
Yes, the whole video
File size limit
No fixed limit (device memory; warning above about 1.5 GB)
Often a limit on free plans
Download
One ZIP of numbered, time-stamped images
Often a ZIP, sometimes one image at a time
Watermark
Never
Sometimes on free plans
Sign-up
Not needed
Sometimes needed
Works offline after loading
Yes, after the tool has run once on the page
No
Privacy
Video never leaves your device
A copy is stored on a server, at least for a while
Only extract frames from videos you own or have the right to use.
Frequently asked questions
How to extract frames from a video?
Open this page, choose the video, pick an interval such as one image every 1 second and press Start. Click Download to get a ZIP with all the images.
How to extract frames from video online free?
This page does it free in your browser with no account, no watermark and no upload. Choose the file, set the interval and download the ZIP.
How to extract all frames from a video?
This tool does not save every single frame. The smallest interval is 0.5 seconds, which is every 15th frame of a 30 fps video. For every frame, a tool like FFmpeg is the right choice.
How many images will I get?
The video length divided by the interval, rounded up. A 2-minute video at 1 second gives 120 images; at 0.5 seconds it gives 240.
How to extract frames from video as images without FFmpeg?
Use this page. You choose the options with a few clicks and download the images in a ZIP, with no commands or code.
How to extract frames from video on iPhone?
Open this page in Safari, choose the video from Photo Library and press Start. Save the ZIP to Files and tap it to unzip. Use a bigger interval for long videos.
What resolution are the extracted frames?
Each image has the full resolution of the video, so a 1080p video gives 1920×1080 images and a vertical phone video gives 1080×1920 images.
Is my video uploaded?
No. The frames are made by your browser on your device, and the ZIP is built there too. The video never leaves your computer or phone.