Initializing... drag & drop files here
Supports: 3G2, 3GP, 3GPP, ASF, AV1, AVCHD +31 more
.mjpeg (raw Motion JPEG stream). No sign-up, no watermark, no file count limit.Motion JPEG stores each video frame as an independent JPEG image — no inter-frame prediction, no P-frames or B-frames, no GOP structure. That gives you frame-accurate seeking and editing at the cost of significantly larger files than H.264 or H.265. Per the Motion JPEG specification history, there is no single universal MJPEG container standard; the codec rides inside AVI, QuickTime (.mov), .mjpeg raw streams, or RTP. Typical compression ratio is around 1:20, versus 1:50 or better for H.264 — expect a 100 MB MP4 clip to balloon to 250–500 MB as MJPEG depending on resolution and quality.
<img src="..."> because each frame is just a JPEG, which is why old-school IP camera viewers "just work."| Property | MJPEG (Motion JPEG) | H.264 (AVC) |
|---|---|---|
| Compression type | Intraframe (every frame independent JPEG) | Interframe (I/P/B frames, GOP prediction) |
| Typical ratio | ~1:20 | 1:50 or better |
| File size for 1080p 60s clip | ~150–500 MB | ~30–60 MB |
| Frame-accurate edit cut | Native — every frame is a keyframe | Only on I-frames without re-encoding |
| CPU decode load | Very low — JPEG decode per frame | Higher — motion comp + entropy decode |
| Browser playback | Native MJPEG-over-HTTP via <img> |
Native via <video> (universal) |
| Audio support | Limited (PCM, MP2, MP3 in AVI/MOV) | Universal (AAC standard) |
| Container | .mjpeg raw, AVI, MOV, RTP |
MP4, MOV, MKV, TS, FLV, WebM-adjacent |
| Best for | Editing, surveillance, machine vision | Streaming, delivery, archive |
| Preset | Approx JPEG quality | Use case | File size vs source MP4 |
|---|---|---|---|
| Very High (default) | ~95% JPEG quality | NLE intermediate, forensic capture, archival | 5–10× larger |
| High | ~85% | Surveillance review, machine vision training data | 3–6× larger |
| Medium | ~70% | Quick frame-grab workflows, proxy editing | 2–3× larger |
| Low | ~55% | Bandwidth-constrained webcam stream, preview | 1–2× larger |
That is expected and not a bug. H.264 uses motion-compensated prediction between frames (P and B frames) to avoid storing redundant pixel data, while MJPEG stores every frame as a complete JPEG. For 30 fps 1080p video, that means roughly 30 independent ~150–300 KB JPEGs per second of footage. The trade-off buys you frame-accurate editing and zero inter-frame artifacts — if file size matters more than per-frame integrity, convert to MP4 or MOV instead.
VLC opens raw .mjpeg streams on Windows, macOS, and Linux. QuickTime Player plays MJPEG inside .mov containers. Most professional NLEs (Premiere Pro, Final Cut Pro, DaVinci Resolve, Avid Media Composer) import MJPEG natively because it has been a post-production intermediate format for decades. Browsers can display MJPEG-over-HTTP via <img> tags, which is how many IP camera web interfaces still preview live video.
Raw .mjpeg has no audio track and no timing metadata beyond what the consumer infers — fine for analysis pipelines and machine vision, awkward for general playback. AVI-wrapped MJPEG carries audio (PCM or MP3) and timing, which is the format most older camcorders produced. MOV-wrapped MJPEG is the QuickTime variant favoured by Apple-native editing. If you need audio, choose MJPEG inside AVI or MOV instead of raw .mjpeg.
Raw .mjpeg has no standard audio track, so audio is dropped when you output to the .mjpeg extension. If audio matters, wrap MJPEG inside MOV or AVI — those containers support PCM, MP2, or MP3 audio alongside the MJPEG video stream. The default audio codec when MJPEG rides in those containers is MP3.
H.264 and H.265 dominate new surveillance hardware because they cut bandwidth and storage by 5–10×. MJPEG is still common on legacy IP cameras, embedded vision systems, and as a secondary stream for mobile/browser previews where decode simplicity matters. Some forensic analysts also prefer MJPEG for license-plate or facial-recognition review because every frame is a clean keyframe with no motion-compensation smearing.
Yes — that is one of MJPEG's main advantages. Any tool that demuxes JPEG byte streams (ffmpeg, custom scripts looking for the JPEG SOI/EOI markers FF D8 and FF D9) can split a .mjpeg file into per-frame .jpg images without re-encoding. If you only need stills and not a video file, our Video to JPG tool extracts frames directly.
<video> tag?Not reliably. iOS and Android system players generally do not decode raw .mjpeg streams via the standard video element, and <video> tag support is inconsistent across Chrome, Firefox, and Safari for the .mjpeg MIME type. MJPEG-over-HTTP via <img> works in every browser (because each frame is a JPEG), but for normal video playback on phones, convert to MP4 — H.264-in-MP4 plays natively everywhere.
Three levers: drop the Quality Preset from Very High to High or Medium (biggest win — roughly halves the file at High), reduce resolution with Resolution Percentage or a Preset Resolution (1080p → 720p cuts data by ~2.25×), or trim the clip to only the seconds you need. Combining all three on a 1080p clip can shrink the MJPEG output by 5–8× while still being editable frame-by-frame.
A raw .mjpeg stream is literally a sequence of complete JPEG images concatenated end-to-end with no container metadata. Image viewers that don't understand the format often only render the first frame. Use VLC, ffmpeg, or a proper NLE to see motion. If you need a container that image viewers ignore but video players handle, output to MOV or AVI instead.