Initializing... drag & drop files here
Supports: MP4, M4V
MP4 with H.264 stores video as a chain of dependent frames: an I-frame followed by P/B-frames that only encode differences. That's why it compresses so well — and also why pulling a clean still from frame 12,847 means decoding everything before it. MJPEG (Motion JPEG) compresses each frame independently as a JPEG, dating back to the early 1990s. Files balloon — typically 5x to 20x larger than an equivalent H.264 MP4 — but every frame becomes a self-contained, instantly accessible image. Convert when the workflow downstream cares more about per-frame access than about bytes.
| Property | MJPEG | MP4 / H.264 |
|---|---|---|
| Compression model | Intra-frame only (each frame a JPEG) | Inter-frame (I/P/B with motion prediction) |
| Typical efficiency | ~1:20 or lower | ~1:50 or better |
| Relative file size | ~5x-20x larger for similar quality | Baseline |
| Frame-accurate seek | Instant, no dependencies | Requires GOP decode |
| Encode CPU | Very low | Moderate |
| Audio | Optional (PCM/ADPCM in AVI; MJPEG raw stream is video-only) | AAC standard |
| Native browser playback | Chrome, Firefox, Safari, Edge (as MJPEG stream) | Universal |
| Era of dominance | 1990s-early 2000s cameras and NVRs | 2003-present |
| Preset | Best for | Trade-off |
|---|---|---|
| Very High (Recommended) | Archival, evidentiary review, ML datasets | Largest files |
| High | Most editing and surveillance use | ~30-40% smaller than Very High |
| Medium | Quick previews, embedded preview streams | Visible JPEG blocking on detailed footage |
| Low | Bandwidth-constrained pipelines | Noticeable artifacts; not for final use |
| Constant Quality | When you want consistent visual fidelity regardless of motion | File size varies with content |
That is expected. H.264 reuses pixels across frames; MJPEG cannot. A one-minute 1080p clip that fits in 30-50 MB as MP4 commonly lands at 250 MB-1 GB as MJPEG. If size matters, drop the preset, reduce resolution, or trim to only the seconds you need.
VLC plays MJPEG natively. Chrome, Firefox, Safari, and Edge support MJPEG streams for things like IP-camera previews, though they treat a raw .mjpeg/.mjpg file inconsistently. For broad playback, wrap MJPEG in an AVI or MOV container (most editing tools do this automatically on import).
The raw MJPEG video stream is silent by design — MJPEG describes only frames. When audio matters, MJPEG is normally muxed into an AVI or MOV container alongside PCM or ADPCM audio. If your downstream system needs the audio too, consider MP4 to MOV or MP4 to MKV instead.
If you need a playable video clip for a legacy device, NVR, or editor, choose MJPEG. If you only need still images for analysis or training data, skip the video step and use MP4 to JPG — it's smaller and the output is the same JPEG data either way.
A lot of mid-2000s to early-2010s surveillance hardware was built before H.264 decoders were cheap, or supports only H.264 Baseline. MJPEG was the lingua franca of that era because it is trivial to encode in firmware and decode anywhere. If the device firmware lists MJPEG as the preferred or only ingest format, supplying MJPEG avoids re-encoding loops on the recorder.
Yes. Use the Trim section's Time Range during conversion, or pre-trim the MP4 with Trim MP4. Trimming first is the single biggest size lever — a 10x size multiplier on a 5-second clip is far more workable than the same multiplier on a 30-minute clip.
Yes, but it is generationally limited. H.264 decoding produces raw pixels, then MJPEG re-encodes each one as a JPEG. At the Very High preset, the loss is minor and hard to see on most footage. At lower presets you'll see JPEG blocking, especially on high-motion or low-light scenes where H.264 already smoothed the signal.
Conversions run in your browser session, so the practical ceiling depends on your device's memory and how the source MP4 is encoded. Large files work — just trim or downscale first when you can. If you only need a smaller MP4 to start, run it through Compress MP4 before converting.
For three reasons: (1) installed-base inertia — surveillance, medical, and industrial systems have multi-decade refresh cycles; (2) per-frame independence — machine vision, forensics, and ML data pipelines value the lack of inter-frame coupling more than they value bytes; (3) implementation simplicity — MJPEG fits in tiny microcontrollers and FPGAs that cannot afford an H.264 encoder.