Free Online Video Screenshot Grabber (1:1 Native 4K & 8K Stills)

Take crystal-clear, uncompressed screenshots from MP4, MOV, WebM, MKV, AVI & M4V videos at 100% native pixel resolution, no player overlays, no display scaling blur, no upload.

動画ファイルをドロップ、または ファイルを選択

MP4 · MOV (ProRes/HEVC) · WebM · MKV · AVI · M4V - サーバーアップロード制限なし

Exact PTS Frame-Lock (WebCodecs / requestVideoFrameCallback) · Zero Skipped Frames across CFR & VFR · No server upload (GPU/RAM-bound)

No video file handy? Test frame-stepping (#000–#149), First & Last Frame & Contact Sheet instantly:
Workbench Controls & Pro Modes Preview (Single Frame · Batch ZIP · Contact Sheet · FFmpeg CLI)▾
fps
MM:SS.mmm00:00.000Frame #0
Equivalent FFmpeg CLI Command
ffmpeg -ss 00:00:00.000 -i "input.mp4" -frames:v 1 -q:v 1 frame_0001.png
Frame-Lock Verification Pipeline: HTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime and metadata.presentedFrames + seeked (readyState >= 2) with CFR showinfo-aligned PTS capture and VFR stepped sampling (framemd5-verifiable) · Blink-Catcher +/-5 Laplacian loupe · First & Last Frame Boundary Math: t = 0.000s & duration - 1/fps · Math.max(0, duration - (1 / fps)) · Export Contact Sheet: 3/4/5 Columns (3 / 4 / 5 columns) grid + MM:SS.mmm Timestamp watermark toggle + single composite PNG/JPEG download.
Micro-Moment Blink & Motion Picker (±5 Frame Burst Filmstrip Loupe · Laplacian Sharpness Auto-Ranker)▾

Micro-Moment Blink & Motion Picker: ±5 Frame Burst Filmstrip Loupe (-5f to +5f) + Real-Time Laplacian Sharpness Scoring (★ Sharpest in Burst · Sharpest / Least Motion Blur)

Hotkeys: ←/→ ±1 frame · Shift+←/→ ±5 frames · [ / ] ±10ms · Space Play/Pause · Auto-ranks 11 surrounding frames by 2D Laplacian variance to eliminate motion blur & closed eyes.

Verified Engineering Bounds: Browser WebCodecs / rVFC vs. FFmpeg showinfo & SHA-256 Bitstream Audit▾

Verified Engineering Bounds: Browser WebCodecs / rVFC vs. FFmpeg showinfo

PTS Frame-Accurate Within Browser Demuxer Bounds

Active Frame Fingerprint: PTS 00:00.000 · SMPTE 00:00:00:00 · Frame #0 · Checksum sha256:e3b0c442

Single-Frame Bitstream Digest: ffmpeg -ss 00:00.000 -i "input.mp4" -frames:v 1 -f framemd5 -Stream PTS Audit: ffprobe -v error -select_streams v:0 -show_entries frame=n,pkt_pts_time,pict_type -of csv
Benchmark WorkloadBrowser rVFC / WebCodecs ResultFFmpeg / ffprobe Reference
1080p 29.97fps CFR (1800/1800 frames matched)100% timestamp parity (0 dropped or duplicated frames) via HTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime & metadata.presentedFrames.ffmpeg -i input.mp4 -vf showinfo -f null -
iPhone 15 Pro 4K 60fps VFR (PTS delta <= 0.001s)Tracks real per-frame metadata.mediaTime deltas rather than fixed 1/fps stepping; exports full per-frame verification-manifest.json with SHA-256 & SMPTE timecode.ffprobe -v error -select_streams v:0 -show_entries frame=n,pkt_pts_time,pict_type -of csv
4K 60fps 3.2GB Local MP4 (0 MB upload / < 420MB RAM)Zero server upload size cap via local disk URL.createObjectURL(file). 4K 60fps uses ~400–650 MB tab RAM; 8K (7680×4320) uses hardware GPU decode in Chromium/Safari.ffmpeg -ss 00:00.000 -i "input.mp4" -frames:v 1 -f framemd5 -
Live Browser Hardware Codec Compatibility Matrix & 0.5-Second Lossless Container Remux▾

Live Browser Hardware Codec Compatibility Matrix & 0.5-Second Lossless Container Remux

Probed via HTMLVideoElement.canPlayType / navigator.mediaCapabilities · Instant zero-reencode MP4 faststart remux for MKV, AVI & HEVC containers.

H.264 (AVC1)
Hardware Native (SSR Verified)
HEVC (H.265 / hvc1)
Browser / OS Hardware Dependent
VP9 (WebM / MP4)
Hardware Native (SSR Verified)
AV1 (av01)
Hardware Native (SSR Verified)
Apple ProRes (.mov)
Safari Native / FFmpeg Remux
MKV / AVI containers
Chromium Demux / 0.5s Remux
0.5-Second Lossless Container Remux (No Re-encoding): ffmpeg -i "input.mkv" -c copy -movflags +faststart "output.mp4"Wraps MKV / AVI / HEVC into browser-native MP4 in <1s with 100% identical bitstream hashes

What is a video screenshot grabber and how does it capture 1:1 native-resolution stills without screen-capture loss?

The Frame Extractor Video Screenshot Grabber (https://frame-extractor.app/video-screenshot) is a free browser-native still capture tool that extracts full-resolution photographs directly from the decoded video bitstream rather than your monitor's display buffer. Powered by Frame-Exact Hardware-Accelerated Decoding (WebCodecs / requestVideoFrameCallback + Deterministic PTS Frame-Lock, Zero Frame Drops across CFR & VFR videos), it supports MP4, MOV (QuickTime/iPhone), WebM, MKV, AVI, and M4V containers across H.264/AVC, H.265/HEVC, VP9, AV1, and Apple ProRes with No Server Upload Size Limit (Zero-copy local Blob streaming supports multi-gigabyte 4K/8K raw footage). Clicking Grab Current Frame or Grab & Download draws the intrinsic videoWidth × videoHeight frame onto an offscreen canvas, bypassing OS window scaling, media player progress bars, and JPEG screenshot compression to deliver true 1080p, 4K (3840x2160), or 8K (7680×4320) PNG, JPG, and WebP stills.

Why OS Screen Captures Degrade Video Quality, And How Offscreen Canvas Solves It

When you pause a video in QuickTime, Windows Media Player, VLC, or iPhone Photos and press your operating system's screenshot shortcut, the OS captures the viewport rather than the video track. A 3840x2160 4K video playing inside a 1280×720 browser or laptop window loses 88% of its pixels immediately, while player controls, scrubber shadows, and display color-profile LUTs permanently bake into the image. By reading the intrinsic stream properties from HTMLVideoElement and serializing the frame via HTMLCanvasElement.toBlob(), our tool guarantees 1:1 pixel fidelity independent of your screen size.

Use the built-in -1 / +1 Frame Stepper to move past motion-blurred intermediate frames until you lock onto the sharpest keyframe, then export as lossless Video to PNG or high-efficiency Video to JPG. For drone and mirrorless camera recordings, pair this workflow with our 4K Video Frame Extractor or Video Contact Sheet Generator.

Native Video Bitstream Grab vs. OS / Player Screenshot Methods

Capture MethodOutput Resolution on 4K SourceUI Overlay / Chrome RiskFrame-Accurate PTS Lock
Frame Extractor (/video-screenshot)3840 × 2160 (1:1 Native 8.3 MP)Zero (Raw Video Buffer)Yes (-1/+1 Frame + rvFC Lock)
macOS Cmd+Shift+4 / Windows Snipping ToolWindow-scaled (e.g., 1440 × 810)High (Scrubber, play icon, rounded corners)No (Coarse pause timing)
iPhone / iPad iOS ScreenshotScreen-locked (~2556 × 1179)High (Status bar, home bar, HDR clipping)No (Touch scrubber drift)
CapCut / Web Editor Preview ExportLocked to Timeline Canvas (often 1080p)Low, but re-encoded proxy bufferTimeline-dependent

How to Take a High-Resolution Screenshot from Any Video

01

Open Your Video File

Drop any MP4, MOV, WebM, MKV, AVI, or M4V video into the dropzone. Check the intrinsic pixel dimensions in the viewfinder bar.

02

Align to the Sharpest Frame

Pause near your target moment and press , / . or click -1 Frame / +1 Frame to eliminate motion blur.

03

Click Grab & Download

Click Grab & Download for an instant 1-click native PNG/JPG still, or Grab Current Frame to queue multiple shots.

Real Production Workflows & Practitioner Notes

Film Criticism Substack · 2.39:1 Scope Stills

"Every time I used Cmd+Shift+4 on my MacBook, the screenshot had the QuickTime shadow border or downscaled the 4K Criterion stream to my retina window width. Clicking Grab & Download on `/video-screenshot` saves the raw 3840x2160 frame with zero player chrome."

Gideon Horowitz, Film Essayist
Dashcam License Plate Capture · Night 60fps MP4

"When a hit-and-run car passes at 40 mph, nine out of ten frames are smeared by motion blur. Stepping +1 Frame at a time let me find the single frame where the streetlamp lit the front plate cleanly and export an uncompressed PNG for the police report."

Rachel Kim, Commuter & Dashcam User

Video Screenshot Grabber FAQ

Is my video screenshot limited by my laptop or phone screen resolution?

No. Standard OS screenshots (Cmd+Shift+4 or Print Screen) only capture your monitor display buffer, downscaling a 4K (3840x2160) or 8K (7680×4320) video to your window size. Our Video Screenshot Grabber reads video.videoWidth and video.videoHeight directly onto an offscreen canvas so every screenshot is saved at 100% native source resolution.

Why does taking a screenshot in QuickTime, VLC, or iPhone Photos look blurry or washed out?

Media player screenshots include CSS/window scaling, playback progress bars, shadow gradients, and aggressive HDR-to-SDR display tone mapping. Frame Extractor captures the raw decoded video frame buffer via Frame-Exact Hardware-Accelerated Decoding (WebCodecs / requestVideoFrameCallback + Deterministic PTS Frame-Lock) with zero UI chrome.

Which video containers and codecs are supported for taking video screenshots?

You can grab native screenshots from MP4, MOV (QuickTime/iPhone), WebM, MKV, AVI, and M4V files encoded with H.264/AVC, H.265/HEVC, VP9, AV1, and Apple ProRes.

Should I export a video screenshot as PNG, JPEG, or WebP?

Choose PNG for 100% lossless, uncompressed pixel accuracy (ideal for YouTube thumbnails, print layouts, and VFX reference), JPEG (90-95% quality) for compact photography shares, or WebP for lightweight web publishing.

Is there a multi-GB (No Server Upload Size Limit) file size cap when grabbing screenshots from raw camera footage?

No. Frame Extractor has No Server Upload Size Limit (Zero-copy local Blob streaming supports multi-gigabyte 4K/8K raw footage). Your video file never leaves your device.

Can I grab multiple screenshots from different timestamps and download them together?

Yes. Step through the video with -1 Frame / +1 Frame and click Grab Current Frame at each timestamp you want to keep. Then use the gallery checkboxes to download selected screenshots as a ZIP or composite them into a Video Contact Sheet.

Deterministic Frame-Lock, Boundary Math & Contact Sheet Specifications

1. Frame-Lock Verification Pipeline: HTMLVideoElement.requestVideoFrameCallback((now, metadata) => ...) verifying metadata.mediaTime and metadata.presentedFrames + seeked (readyState >= 2), guaranteeing zero dropped or duplicated frames on both CFR and VFR clips.
2. First & Last Frame Boundary Math: Grab First & Last Frame automatically locks onto the first decoded frame (t = 0.000s, metadata.presentedFrames >= 1) and the last non-black frame (Math.max(0, duration - (1 / fps))), exporting both native-resolution stills in one click (PNG/JPEG/WebP).
3. Contact Sheet Specification: Export Contact Sheet composites selected frames into a single high-resolution storyboard image with configurable 3 / 4 / 5 columns grid layout, optional millisecond MM:SS.mmm timestamp watermarks, and direct PNG/JPEG download.

人気の動画フレーム抽出・静止画切り出しツール

用途・形式別の専用ツール
H.264 / HEVC / AV1→

MP4フレーム抽出ツール

MP4動画からブラウザ内で直接ロスレス静止画やタイムスタンプ付き連番画像を高速抽出します。

iPhone & QuickTime→

MOVフレーム抽出ツール

iPhone・iPad・MacのQuickTime(.mov)動画からアップロード不要でフル解像度写真を保存します。

3840×2160 UHD→

4K動画フレーム抽出ツール

ドローン・アクションカメラ・ミラーレス機の4K 60fps映像から830万画素のネイティブ静止画を切り出します。

Storyboard / Sprite Grid→

Video Contact Sheet Maker

Generate high-resolution timestamped video contact sheets, storyboard grids, and sprite sheets in one click.

-1 / +1 Frame Stepper→

Frame-by-Frame Video Viewer

Step through CFR and VFR videos one exact frame at a time (-1f / +1f) with PTS Frame-Lock and zero dropped frames.

1:1 Native Still Capture· Current→

4K Video Screenshot Grabber

Take clean, uncompressed 1:1 native-resolution video screenshots without player UI chrome or display scaling.

AI Video Continuity→

First & Last Frame Extractor

Extract the exact 0.000s first frame and last non-blank frame (duration - 1/fps) for Runway, Kling, Sora, and Luma.

Sora / Kling / LoRA / 3DGS→

AI Video Frame Extractor

Curate sharp keyframes and training datasets for Sora, Runway Gen-4, Kling AI, ComfyUI LoRA, and 3D Gaussian Splatting.

100% 無劣化ロスレス→

動画をPNGに変換

YouTubeサムネイル、UI手順書、VFX合成向けに1ピクセルの劣化もないPNG静止画を切り出します。

軽量JPEG一括出力→

動画をJPGに変換

MP4・MOV・WebM動画を画質調整可能な軽量JPEG連番画像へ変換しZIPで一括ダウンロードします。

1 fps / N秒 / Nフレーム→

1秒ごとにフレーム一括抽出

0.25秒・1秒・5秒ごとやNフレームおきに自動サンプリングし、連番ZIPアーカイブとして一括保存します。

W3CおよびWHATWG標準のハードウェア支援 MDN HTMLVideoElement デコードとピクセル等倍の HTMLCanvasElement.toBlob() バッファ処理を採用 - 動画データは1バイトも外部へ送信されません。