Extract Frames from Video Online - Video to Frames Converter

Turn a video into numbered JPG or PNG images, one every few seconds, and download them all in one ZIP.

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

  1. Choose your video

    Click the box above or drag a video file onto it. You will see its name, size and resolution.

  2. 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.

  3. 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

  1. Choose your video. Click the box at the top or drop the file onto it. Use Change file to swap it.
  2. Set One image every. Pick 0.5, 1, 2, 5 or 10 seconds. A smaller number gives more images.
  3. Choose JPG or PNG (optional). JPG is the default. Open More options to pick PNG under Output format.
  4. Press Start. A progress bar with a percentage shows how far it has got. Press Cancel to stop.
  5. 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.

Images from a 10-minute videoEvery 0.5 s1,200Every 1 s600Every 2 s300Every 5 s120Every 10 s60
Computed from the settings the tool uses: images = duration ÷ interval, rounded up (600 s ÷ interval).
One image everyImages per minuteAt 30 fps, that isGood for
0.5 sec120every 15th frameShort clips, fast action, picking the perfect still
1 sec (default)60every 30th frameMost videos, browsing a clip
2 sec30every 60th frameTalks, tutorials, slow scenes
5 sec12every 150th frameLonger videos, quick overview, slides from a class
10 sec6every 300th frameVery 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.

FeatureVidHaul video to framesTypical upload-based frame extractors
Upload neededNoYes, the whole video
File size limitNo fixed limit (device memory; warning above about 1.5 GB)Often a limit on free plans
DownloadOne ZIP of numbered, time-stamped imagesOften a ZIP, sometimes one image at a time
WatermarkNeverSometimes on free plans
Sign-upNot neededSometimes needed
Works offline after loadingYes, after the tool has run once on the pageNo
PrivacyVideo never leaves your deviceA copy is stored on a server, at least for a while

Sources

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.

More free tools