Guide · macOS
How to extract frames from a video on Mac
QuickTime Player can copy the current frame at the video's resolution with no extra software. For many frames, batches of videos, or picking the best shots automatically, use FFmpeg in Terminal or a dedicated Mac app such as GetVideoFrames Desktop.
Last reviewed 3 October 2026. Menu names can change between macOS releases.
What is the best way to extract frames on a Mac?
For one frame, use QuickTime Player: pause, step with the arrow keys, copy, and paste into Preview. For one file and no install, use the GetVideoFrames browser extractor. For many frames, several videos, or a visual way to pick keepers, use GetVideoFrames Desktop on Apple Silicon. For scripts, use FFmpeg or the open-source GVF CLI. All of these process the file on your Mac.
Mac frame extraction methods compared
| Method | Output | Best for |
|---|---|---|
| QuickTime Player + Preview | One frame at the video's resolution | A single still, built into macOS |
| Screenshot (⌘⇧4) | Screen resolution of the player window | A rough reference image |
| Browser extractor | JPG, PNG, WebP, or ZIP from browser-decodable files | One file, no install, intervals or counts |
| GetVideoFrames Desktop | Full-quality re-extract, Smart Collections, manifests | Many frames, many videos, picking the best shots |
| FFmpeg or GVF CLI | Any interval, timestamp, or every frame | Scripts, pipelines, automation |
Method 1: Copy a frame in QuickTime Player
QuickTime Player copies the paused frame at the video's own resolution, so it is sharper than a screenshot. It saves one frame at a time.
- Open the video in QuickTime Player and pause near the moment you want.
- Press the left or right arrow key to step one frame at a time.
- Choose Edit → Copy (⌘C).
- Open Preview and choose File → New from Clipboard (⌘N), then save as PNG or JPEG.
Method 2: Use the browser extractor
The GetVideoFrames browser extractor runs in Safari, Chrome, or Firefox and processes the selected file on your Mac without uploading it. Choose one frame, one every N seconds, or an evenly spaced count, and download JPG, PNG, WebP, or a ZIP. Codec support depends on the browser.
Open the browser extractorMethod 3: GetVideoFrames Desktop for Apple Silicon
GetVideoFrames Desktop is a Mac app for frame extraction at scale. It extracts review candidates with FFmpeg on your Mac, groups them into Smart Collections (Best, Scenes, People, Products, Animals, Vehicles) with on-device object detection, then re-extracts the frames you keep at full quality as JPG, PNG, or WebP. A Bulk queue handles many videos with filename templates and manifests.
You can extract and review for free; free exports save up to five frames at a time. Pro Lifetime unlocks larger exports on up to three Macs. The current build is for Apple Silicon; on Intel Macs, use QuickTime, the browser, or FFmpeg.
Download for MacMethod 4: FFmpeg in Terminal
FFmpeg gives exact control over timestamps, intervals, and formats, and installs with Homebrew. The first command saves one still at 1 minute 23 seconds; the second saves one frame per second into a frames folder.
brew install ffmpeg
ffmpeg -ss 00:01:23 -i input.mov -frames:v 1 still.png
ffmpeg -i input.mov -vf fps=1 frames/out_%04d.jpgSee the FFmpeg guide for quality flags, every-frame extraction, and tested limits.
Read the FFmpeg guideMethod 5: The open-source GVF CLI
GVF is an MIT-licensed command-line tool and local MCP server built on FFmpeg. Its gvf run command samples a video, scores scenes and sharpness, removes near-duplicates, and exports only the selected frames at full quality. It has no telemetry and is installed from source with Node.js 22 or newer.
gvf run video.mp4 --preset storyboard --export ./storyboardGVF on GitHubLimits to know
A frame cannot be sharper than the video: 1080p video yields at most 1920×1080 stills. Some codecs, such as certain HEVC or ProRes variants, decode in one browser but not another; Desktop and FFmpeg handle more formats. Protected streaming video cannot be captured. Only extract frames from videos you have the right to use.