Initializing... drag & drop files here
Supports: MJPEG
A raw .mjpeg file is a bare run of JPEG frames — no container, no index, no audio track. .jfif is the extension for JPEG File Interchange Format, the 1992 convention that made JPEG files portable between programs. So this conversion means one specific thing: lifting a frame out of the video stream and writing it as a standalone still image in the JPEG family. This page documents both formats and what the converter actually does with them.
| Property | Value |
|---|---|
| What it is | Motion JPEG — consecutive JPEG-compressed frames, one complete picture each |
| Container | None. A raw elementary stream, usually named .mjpeg or .mjpg |
| Compression | Intra-frame only; no interframe prediction, no P- or B-frames |
| Declared duration | Absent — ffprobe reports Duration: N/A, bitrate: N/A |
| Frame rate | Not stored. Decoders fall back to an assumed 25 fps |
| Audio | None. The format carries video frames only |
| Colour | JPEG full range (yuvj* pixel formats), 4:2:0, 4:2:2 or 4:4:4 chroma |
| Typical origin | IP and CCTV cameras, USB webcams, machine-vision rigs, microscope capture |
| Property | Value |
|---|---|
| Full name | JPEG File Interchange Format |
| Origin | Led by Eric Hamilton at C-Cube Microsystems; first version agreed late 1991 |
| Last vendor version | 1.02, published 1 September 1992 |
| Standardised as | ITU-T Recommendation T.871 (May 2011); ISO/IEC 10918-5 (2013) |
| Compression | JPEG, ISO/IEC 10918-1 — lossy, DCT-based |
| Colour model | Y for greyscale, or YCbCr derived from CCIR 601 primaries |
| What it adds to JPEG | An APP0 marker segment carrying version, density units and an optional uncompressed RGB thumbnail |
Relationship to .jpg |
The same file type under a different extension |
| Transparency | Not supported — JPEG has no alpha channel |
| Animation | Not supported. One frame per file |
.mjpeg file onto the page or click "+ Add Files". Files upload over an encrypted connection and convert on our servers.0 to grab the opening frame, raise the number to land deeper into the clip, or switch to Multiple Screenshots and set a Capture Rate to pull a still every 0.1 to 10 seconds..jfif. No sign-up, no watermark.For anything this converter produces, yes. .jfif, .jpeg and .jpg all take the same encoder path here, so the image data written to a .jfif is byte-for-byte what you would get by asking for a .jpg. The only difference is the four characters after the dot. If a program refuses the file, renaming the extension to .jpg is a valid fix — nothing inside the file needs to change. Windows and Chrome sometimes hand you .jfif on a plain image download for the same reason: the data is a JFIF-structured JPEG, so that extension is technically accurate even though .jpg is what everyone expects.
The first one. Frame Selection starts on Specific Frame with Time (seconds) set to 0, so an untouched conversion gives you the opening picture of the stream. Type a different number of seconds to seek further in. Because a raw MJPEG carries no timing of its own, that seek is interpreted against the assumed 25 fps rate — 10 seconds means frame 250, whatever rate the camera was really running at.
Switch Frame Selection to Multiple Screenshots and pick a Capture Rate. The fastest setting takes one still every 0.1 seconds (a frame at 10 fps) and the slowest takes one every 10 seconds, so you get a sampled sequence rather than a literal dump of all frames. For long surveillance recordings that is usually what you want anyway — a 25 fps hour of footage is 90,000 frames.
Because the length was never written down. We verified this on a freshly encoded raw stream: 30 frames captured at 10 fps probe as Duration: N/A, bitrate: N/A, and every decoder then assumes 25 fps — so those three real seconds are treated as 1.2 seconds of playback. Nothing is missing from the file; only the clock is guessed. It matters here because seeking to a timestamp uses that guessed clock, so if your camera recorded at 5, 10 or 15 fps, divide the frame number you actually want by 25 to get the number to type into Time (seconds).
Because the file holds many concatenated frames, not one image. A viewer that accepts it at all will show only the first picture and ignore the rest, and some MJPEG variants store the Huffman table once for the stream rather than repeating it in every frame, so cutting the bytes apart by hand yields fragments a JPEG decoder cannot open. The conversion decodes the stream properly and re-encodes the frame you asked for, which is why it produces a file that opens everywhere.
One new generation, not two. The selected frame is decoded and written to a lossless PNG intermediate first, then encoded once to JPEG at your chosen preset — the intermediate step costs nothing in quality. The frame already carried whatever compression the camera applied, so the output is that original loss plus a single re-encode. Set Quality Preset to Highest when the frame is evidence, a measurement, or anything that will be examined closely.
There is no DPI control on this page, and for a frame grab that changes nothing you would see. DPI in a JPEG is a metadata field describing intended print size; it does not add or remove a single pixel. What actually determines detail is the pixel dimensions, so if you need a bigger or smaller image use Image resolution — percentage, a preset height, or an explicit width and height. Set DPI later in your print or layout software if a print shop asks for it.
Very closely, with one deliberate adjustment. MJPEG frames are usually stored in JPEG full range, where levels run 0 to 255. The extracted still keeps that full-range JPEG encoding, so tones come across as the camera recorded them. Note that chroma subsampling in the source is not something the conversion can undo — if the camera wrote 4:2:0, the fine colour detail it discarded is already gone, and no output setting brings it back.
Files are uploaded over an encrypted connection, converted on our servers, and deleted automatically a few hours later. There is no sign-up, no watermark, and nothing is shared or made public — which matters for the security-camera and medical-capture footage that tends to arrive as raw MJPEG. If you also need the standard spelling of the extension, MJPEG to JPG writes the identical image as .jpg, and JFIF to JPG renames existing stills you already have.