Initializing... drag & drop files here
Supports: MJPEG
This tool pulls a single still frame out of a Motion JPEG (MJPEG) stream and saves it as an AVIF image — the AV1-coded format that lands a web-ready picture in a fraction of a JPEG's size. Because every MJPEG frame is already a complete, independent JPEG, grabbing one is the format's natural operation: you point at a timestamp and get one picture, not the whole stream. That makes it a clean way to turn a moment from an IP-camera or webcam capture into a modern, lightweight image for an incident report, documentation, or the web.
.mjpeg file onto the page, or click "+ Add Files" to browse. You can queue several captures to process with the same settings.2.100 lands on the frame at 2.1 seconds. Prefer a contact sheet? Switch to Multiple Screenshots to sample several frames and download them together as a ZIP.| Output | Compression | Detail vs source frame | Best for |
|---|---|---|---|
| AVIF (this tool) | Lossy (AV1) | Re-encoded, much smaller at similar quality | Modern web, incident stills, documentation |
| JPEG (MJPEG to JPG) | Lossy (re-encode of an already-JPEG frame) | Same picture, universally openable | Sharing anywhere, legacy apps, email |
| PNG (MJPEG to PNG) | Lossless | No further loss from the grab onward | Editing, annotation, archival of the still |
| MP4 (MJPEG to MP4) | Lossy video | Keeps full motion | When you want the whole clip, not one frame |
No — and this is the honest catch. The frame inside an MJPEG stream was already JPEG-compressed by the camera that recorded it, so it carries whatever detail and noise that capture had. Saving it as AVIF re-encodes that picture (lossy to lossy): AVIF stores it far more efficiently, with cleaner gradients and fewer blocking artifacts than re-saving as JPEG, but it cannot add back detail the camera's JPEG already discarded. You get a smaller, modern-format copy of the existing frame, not a higher-resolution one.
Because Motion JPEG stores every frame as an independent, complete JPEG image — there is no inter-frame prediction to unwind. With codecs like H.264 or MPEG-2, a given frame may only hold the differences from neighboring frames, so the decoder has to reconstruct it. MJPEG has no such dependency: each frame already is a full picture, which is exactly why IP cameras, webcams, and capture pipelines use it and why frame extraction is its native operation.
AVIF generally produces a noticeably smaller file than JPEG at the same visual quality, with cleaner flat areas and gradients. In our testing, a 640×480 frame pulled from a typical IP-camera MJPEG and saved at the Very High preset came out in the single-digit kilobytes — smaller than the equivalent high-quality JPEG of the same frame. The exact ratio depends on scene complexity: flat, low-detail frames (a quiet hallway) compress the most, while busy, noisy night footage compresses less.
AVIF is supported by about 93% of browsers in use today, per caniuse.com: Chrome 85+, Firefox 93+, Edge 121+, and Safari 16.4+ on macOS (16.0+ on iOS). AVIF is an AV1-coded still image, finalized by the Alliance for Open Media in 2019. Older browsers and some desktop image viewers won't open it — if you need a frame that opens anywhere, including legacy apps and email, extract it as JPG instead.
Your MJPEG is uploaded over an encrypted (TLS) connection, processed on our servers, and the files are deleted automatically a few hours after conversion. There is no sign-up, no watermark on the output, and your files are never shared or made public. The main practical limit on a long capture is its upload size and transfer time, not your device.