Initializing... drag & drop files here
Supports: MPG, MPEG
Turn an MPEG program stream (MPEG-1 or MPEG-2 video) into Motion JPEG, where every frame is stored as a complete, standalone JPEG. Be clear on the tradeoff first: this is not compression. MPEG uses interframe compression (I, P, and B frames that reference each other), while MJPEG is intra-only — each frame is encoded by itself — so the output is usually several times larger than the source. You do this for frame independence, not size: MJPEG gives you frame-accurate scrubbing, clean single-frame extraction, and compatibility with editors, capture cards, and machine-vision tools that expect Motion JPEG.
.mpg or .mpeg file onto the page, or click "+ Add Files" to browse. You can queue several clips and convert them with the same settings.| Property | MPEG (.mpg/.mpeg) | MJPEG (Motion JPEG) |
|---|---|---|
| Compression type | Interframe (I/P/B frames) | Intra-only (each frame a full JPEG) |
| Typical file size | Small — frames share data | Large — no interframe savings |
| Frame independence | No — frames reference neighbors | Yes — every frame is self-contained |
| Best for | Storage, playback, streaming | Editing, scrubbing, frame extraction, capture |
| Decode cost | Higher (must rebuild GOP) | Lower (decode one JPEG at a time) |
| Audio | Carries MP2/MP3 audio in the stream | Video-only codec; audio handled by the container |
| Standard | ISO/IEC 11172 (MPEG-1, 1993) / 13818 (MPEG-2) | JPEG (ISO/IEC 10918) applied per frame |
That is expected, not a bug. MPEG only stores full keyframes occasionally and describes the frames in between as differences. MJPEG throws that away and re-encodes every single frame as a complete JPEG, so the redundancy MPEG removed comes back. A multi-fold size increase is normal — you are paying storage for frame independence.
It is a re-encode, so there is a generation loss step, but at the "Very High" Constant Quality preset each frame is encoded near-lossless and the result looks essentially identical to the source on screen. Lower presets compress each JPEG harder and introduce visible artifacts. MJPEG cannot recover detail the MPEG-2 source already discarded — it only re-packages it frame by frame.
Frame-accurate access. Because each MJPEG frame is self-contained, an editor or capture pipeline can jump to, decode, and replace any single frame without reverse-decoding a group of pictures. In our testing, scrubbing an MJPEG clip frame-by-frame in a timeline is noticeably more responsive than scrubbing a long-GOP MPEG-2 source, which has to rebuild frames from neighbors. That makes MJPEG handy for editing on older hardware, forensic/inspection work, and machine-vision capture.
MJPEG is strictly a video codec — it has no audio of its own. Audio is carried by whatever container wraps the MJPEG stream rather than by Motion JPEG itself. If your workflow needs the soundtrack alongside frame-accurate video, keep a copy of the original MPEG, or convert to a container that muxes MJPEG video with an audio track.
There is no artificial file-count cap, but very large MPEG files take longer to upload and, because MJPEG output is much bigger than the source, longer to download. Trimming to just the section you need (the Trim / Time Range option) keeps both the upload and the resulting MJPEG manageable.
Yes. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public. If you later need a small, shareable version of the same clip, convert it to MPEG to MP4 instead, which re-applies interframe compression.