Initializing... drag & drop files here
Supports: MOV
.mov clips. iPhone recordings (H.264 or HEVC), screen captures, and ProRes masters are all accepted, and batch processing runs files back-to-back.2.100 for 2 seconds, 100 ms) — or Multiple Screenshots to extract a series at a fixed interval ranging from every 0.1s up to every 10s per frame..bmp files — no sign-up, no watermark, no upload to a third-party server.MOV is the QuickTime container Apple introduced on December 2, 1991, and it remains the default capture format for iPhones, Macs, and ProRes editorial workflows. BMP (Windows Bitmap) is Microsoft's uncompressed raster format dating to Windows 2.0 — it stores raw pixel data with no lossy compression, which is exactly what you want when a downstream tool can't be trusted to handle JPEG artifacts or PNG decompression. Pulling stills out of a MOV as BMP is the cleanest path between Apple-side capture and Windows-side legacy software.
System.Drawing.Bitmap or a Win32 LoadImage() call, with no decoder dependency. Older industrial vision software, kiosk applications, and in-house tools written before PNG was ubiquitous frequently accept BMP only.| Property | MOV (input) | BMP (output) |
|---|---|---|
| Type | Video container (QuickTime) | Single-image raster bitmap |
| Origin | Apple, December 2, 1991 | Microsoft, Windows 2.0 era |
| Typical codec / encoding | H.264, H.265/HEVC, ProRes, Animation | Uncompressed BI_RGB (most common) |
| Bit depth | 8-bit or 10-bit per channel video | 1, 4, 8, 16, 24, or 32 bpp |
| Compression | Lossy (most cases) or lossless (ProRes 4444, Animation) | None (BI_RGB), or RLE for 4/8-bit indexed |
| Audio / multi-track | Yes — video, audio, timecode, captions | No — image only |
| Native platform | macOS / iOS, also Windows via QuickTime APIs | Windows GDI / GDI+, OS/2 |
| Browser support | Safari, plus QuickTime-aware tools | Limited in browsers; universal in OS image viewers |
| Aspect | BMP (this tool) | JPG | PNG |
|---|---|---|---|
| Compression | None | Lossy (DCT) | Lossless (DEFLATE) |
| 1080p frame size (24-bit) | ~6.2 MB | ~200-500 KB | ~1.5-3 MB |
| Pixel-exact | Yes | No (chroma subsampling, blocking) | Yes |
| Best for | Legacy Windows tools, ML training, forensics | Web, sharing, thumbnails | Web archive, transparency, screenshots |
| Re-save degradation | None | Compounds with each save | None |
| Decoder dependency | Trivial (raw pixel array) | Requires JPEG decoder | Requires zlib + PNG decoder |
| Alpha channel | 32-bit BMP only | No | Yes |
In Specific Frame mode you get exactly one BMP — the frame at the timestamp you entered. In Multiple Screenshots mode the count is floor(duration / interval). A 60-second MOV at "every 1 second per frame" yields 60 BMPs; the same clip at "every 0.1s" yields about 600. Keep an eye on size — see the next answer for why batch BMPs add up fast.
A 1920x1080 BMP at 24 bits per pixel stores 1920 x 1080 x 3 bytes plus a small header — roughly 6.2 MB per frame. The MOV is small because H.264 / HEVC discards perceptually redundant data and uses inter-frame prediction; BMP stores every pixel independently with zero compression. If file size matters more than pixel-exact fidelity, extract as JPG via MOV to JPG or as PNG via MOV to PNG.
Yes. The Time field accepts decimal seconds, so 12.75 lands at 12 seconds, 750 ms. The actual frame returned is the nearest decoded frame to that timestamp; on a 30 fps source the snap-to grid is roughly 33 ms, on 60 fps about 16 ms. For a frame-by-frame walk, switch to Multiple Screenshots and use a small interval like 0.05s or 0.1s.
Yes. iPhone 8 and later default to HEVC in the "High Efficiency" camera setting introduced in iOS 11 (fall 2017); iPhone 7 supports HEVC capture but ships set to "Most Compatible" (H.264). The decoder handles both, plus ProRes MOVs from iPhone 13 Pro and later when ProRes recording is enabled (requires iOS 15.1+).
Yes. iPhone clips are stored in their native sensor orientation with a rotation matrix in the MOV header (so portrait videos play upright in QuickTime even though the underlying frame is landscape). The extractor reads that rotation and emits the BMP in the orientation you actually see during playback, not the raw sensor orientation.
24-bit RGB (BI_RGB, no compression) — the most universally compatible BMP variant, readable by every Windows version since 2.0, every major image viewer, and System.Drawing.Bitmap / LoadImage() / OpenCV / Pillow without extra flags. Frames are encoded BGR-bottom-up in the file (the BMP standard) but every modern reader inverts that transparently.
Not directly — frames come out as 24-bit RGB. Convert in a second pass using ImageMagick (magick frame.bmp -colors 256 -type Palette out.bmp), Photoshop (Image > Mode > Indexed Color), or GIMP (Image > Mode > Indexed). Going from 16+ million colors down to 256 is a perceptual choice (which palette? dithered or not?) that's better made on the still than on the video.
Linearly. BMP file size scales with width x height x bytes-per-pixel, so halving each dimension quarters the file. A 960x540 24-bit BMP is ~1.5 MB versus ~6.2 MB at 1080p. If you're staying inside an embedded display that's only 320x240, drop to that resolution at extraction time rather than letting the device down-sample at runtime — you save flash and CPU on the target.
If you only need lossless storage (not pixel-exact-as-bitmap), zip the folder — uncompressed bitmaps from similar frames compress aggressively in DEFLATE. For long-term archival of stills you need to view often, consider compressing the BMP set with optional palette reduction, or convert the source MOV to a more efficient codec via MOV to MP4 and extract on demand instead of storing thousands of bitmaps.