Initializing... drag & drop files here
Supports: MP4, M4V
An MP4 shot at 30 fps holds thirty still images for every second of footage. This tutorial covers pulling those stills out as JPGs — one exact frame at a timestamp you choose, or a whole sequence at a fixed interval for thumbnails, contact sheets, product stills or a training set. It also covers the two things that surprise people most: the default capture time is zero seconds, which on real footage is often a black frame, and a JPG has no way to represent the HDR colour that modern phone video is shot in.
.mp4 and .m4v are accepted, and each video you add produces its own set of frames. Files upload over an encrypted connection, are processed on our servers, and are deleted automatically after a few hours.The Time (seconds) field starts at 0, and frame zero is the single worst frame to keep on most real footage — recordings routinely open on black, on a fade-in, on a lens still racking focus, or on the half-second where the camera operator is still touching the phone. Type an actual timestamp before converting. A few seconds in is almost always a better still than the very first frame.
12.5 is a valid mid-second capture.| You want… | Frame Selection | Setting | Result from a 60-second clip |
|---|---|---|---|
| One cover image or thumbnail | Specific Frame | Time (seconds), e.g. 8 |
A single JPG from the 8-second mark |
| A frame every second | Multiple Screenshots | Capture Rate: 1 second per frame | 60 JPGs |
| A scene overview / contact sheet | Multiple Screenshots | Capture Rate: 5-10 seconds per frame | 6-12 JPGs |
| Dense coverage of fast action | Multiple Screenshots | Capture Rate: 0.1 seconds per frame | ~600 JPGs — use on short clips only |
| A small web thumbnail | Specific Frame + Image resolution | Preset Resolution, e.g. 480p | One downscaled JPG |
The frame is first decoded out of the video losslessly, and only the final save step is lossy. Quality Preset maps to a specific JPEG quality value, so you can reason about it precisely rather than guessing:
| Quality Preset | JPEG quality | Practical effect |
|---|---|---|
| Highest | 100 | Largest files; visually indistinguishable from 95 on most frames |
| Very High (Recommended) | 95 | The default — sharp enough for print-size crops |
| High | 90 | A good balance for web use at full resolution |
| Medium | 80 | Noticeably smaller; fine for thumbnails and previews |
| Low / Very Low / Lowest | 70 / 60 / 50 | Visible blocking on detailed frames; only for tiny previews |
If you need to hit a byte budget rather than a quality level, switch Image Compression to "Specific file size", type a target, and leave Auto Scale on to let the converter adjust dimensions to reach it without shredding the detail.
2 is usually enough.DRM-protected video cannot be decoded at all, so no frame can be extracted from a purchased or rented title. A timestamp past the end of the clip has no frame to return. And if what you actually need is a still with transparency, a lossless still, or a frame you intend to edit heavily afterwards, JPG is the wrong target — its 8-bit-per-channel lossy encoding and lack of an alpha channel will fight you. Use MP4 to PNG for those, and MP4 to GIF if you actually wanted a moving clip rather than a still.
Two different causes. Black usually means the Time (seconds) field was left at its default of 0 and the video opens on a fade or a dark frame — enter a timestamp a few seconds in and convert again. Blur is normally motion blur that the camera's shutter recorded into that frame; nothing downstream can remove it. Footage shot at 60 fps or higher freezes motion far better, and on fast action your best move is Multiple Screenshots at a tight interval so you can pick the sharpest image from the set.
Leave Frame Selection on Specific Frame and type the moment you want into Time (seconds); decimals work, so 7.25 is valid. If you know the frame number rather than the time, divide it by the video's frame rate — frame 900 of 24 fps footage is 900 ÷ 24 = 37.5 seconds. The converter seeks to that point, decodes that frame losslessly, and only then encodes it as a JPG.
With Image resolution on "Keep original", each JPG matches the video's own frame size — a 1920×1080 source gives 1920×1080 stills, and a 3840×2160 source gives 3840×2160. Frames are never upscaled beyond the source. To get smaller files, pick a Preset Resolution or enter a Width before converting; you can also resize afterwards with the Image Resizer.
Because your video is very likely HDR and JPG is not. Recent iPhone and Android phones record HDR video by default, and this converter applies a straight colour conversion with no tone-mapping stage, so the extra highlight range has nowhere to go — the still ends up flatter and less saturated than the clip looked on your phone. If accurate colour matters more than convenience, export an SDR version of the video first and extract the frame from that.
Duration divided by the Capture Rate. One second per frame on a 3-minute video is 180 images; 0.1 seconds per frame on the same video is 1,800. Each captured frame becomes its own JPG and appears as a separate entry in the results list, numbered in sequence. Because the count grows quickly, trim long videos before converting or widen the interval.
Neither is preselected on this page, and the two are the same format — JPEG (ISO/IEC 10918) — differing only in extension length. Pick .jpg unless a specific system you are feeding insists on the four-letter form; it is the more common spelling on the web and in most content pipelines.
JPG is lossy, 8 bits per channel, with no alpha channel — the right choice for photographic frames, thumbnails and anything going straight to the web, where its small size wins. Choose PNG instead when you need a lossless still, when the frame is mostly flat graphics or text (screen recordings compress badly as JPG and pick up ringing around letters), or when you plan to composite the still and want transparency support.
Yes — add multiple files and they are processed with the same Frame Selection, Quality Preset and resolution settings, each producing its own frame or frame set. That is the fast way to build a uniform set of cover images across a batch of clips. If different videos need different timestamps, run them separately, since the Time (seconds) value applies to everything in the queue.
It is uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours. There is no sign-up, no watermark burned into the stills, and your files are never shared or made public.