Skip to main content

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.

By Published Updated

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

MethodOutputBest for
QuickTime Player + PreviewOne frame at the video's resolutionA single still, built into macOS
Screenshot (⌘⇧4)Screen resolution of the player windowA rough reference image
Browser extractorJPG, PNG, WebP, or ZIP from browser-decodable filesOne file, no install, intervals or counts
GetVideoFrames DesktopFull-quality re-extract, Smart Collections, manifestsMany frames, many videos, picking the best shots
FFmpeg or GVF CLIAny interval, timestamp, or every frameScripts, 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.

  1. Open the video in QuickTime Player and pause near the moment you want.
  2. Press the left or right arrow key to step one frame at a time.
  3. Choose Edit → Copy (⌘C).
  4. 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 extractor

Method 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 Mac

Method 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.jpg

See the FFmpeg guide for quality flags, every-frame extraction, and tested limits.

Read the FFmpeg guide

Method 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 ./storyboard
GVF on GitHub

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

FAQ

Frequently asked questions

How do I save a frame from a video on Mac without a screenshot?
Pause the video in QuickTime Player, press ⌘C, then open Preview and press ⌘N to create an image from the clipboard. The still keeps the video's resolution.
How do I extract all frames from a video on Mac?
Use FFmpeg (ffmpeg -i input.mov frames/frame_%06d.png) or GetVideoFrames Desktop. Every frame of a 30 fps video is 1,800 images per minute, so an interval is usually more practical.
Is there a free frame extractor for Mac?
Yes. QuickTime Player, FFmpeg, the GVF CLI, and the GetVideoFrames browser extractor are free. GetVideoFrames Desktop is free to try; Pro Lifetime unlocks larger exports.
Does GetVideoFrames Desktop work on Intel Macs?
The current build targets Apple Silicon. On an Intel Mac, use QuickTime Player, the browser extractor, or FFmpeg.