Convert MJPEG to APNG Online

Upload an MJPEG video and convert it to an APNG image with adjustable quality, resolution, colors, and framerate settings.

Initializing... drag & drop files here

Supports: MJPEG

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Image resolution
Framerate
Framerate

MJPEG to APNG: Turning a Raw Frame Stream into a Looping Animation

An .mjpeg file is about as bare as video gets: a raw Motion JPEG elementary stream, which is literally a run of complete JPEG images concatenated together, with no container around them, no audio, and no timing information. APNG is animated PNG — the same PNG container you already know, extended with an animation control chunk so a single file plays a sequence of frames. Converting between them is a natural fit, because both formats think in whole, independent frames. This page compares APNG against the obvious alternative, GIF, and covers the one quirk that catches people out: what happens to timing when the source never recorded any.

APNG vs GIF for an MJPEG Capture

Property APNG (this page) GIF
Colour depth Full 24-bit — 16.7 million colours 256 colours per frame, chosen from a palette
Transparency 8-bit alpha, so edges can fade smoothly Binary on/off only, which leaves hard fringes
Compression Lossless PNG compression per frame, with interframe deltas Lossless LZW over a quantized palette
Photographic footage Looks correct — no banding or dithering artefacts Visibly dithered; gradients and skin tones suffer
File size on photographic content Often large, because lossless coding of photographic frames is expensive Smaller, but only because the picture was reduced to 256 colours first
Browser support Chrome 59+, Firefox, Safari 8+, Edge 79+, roughly 96% of traffic per caniuse Universal, including ancient software
Fallback where unsupported The first frame displays as a normal still PNG Not applicable
Looping Infinite by default here Infinite by convention

When APNG Is the Right Choice

  • Your MJPEG is camera or screen-capture footage. MJPEG sources are photographic almost by definition, and that is exactly where GIF's 256-colour palette falls apart into dithering and banding.
  • You need clean edges over an arbitrary background. APNG's 8-bit alpha blends properly instead of producing the jagged fringe GIF's one-bit transparency leaves behind.
  • The animation is going somewhere modern. Every current browser renders APNG natively, and the graceful failure mode elsewhere is a static first frame rather than a broken image.

When GIF or a Video Format Wins

  • The destination is old software, an email client, or a platform that only accepts GIF. MJPEG to GIF is the compatible answer.
  • The clip is long. APNG has no interframe motion compensation, so a lossless animation of many photographic frames grows quickly. Anything beyond a few seconds is usually better as a real video — MJPEG to MP4 will be dramatically smaller.
  • You want the smallest possible animated file. Neither APNG nor GIF competes with a modern video codec on size.

How to Convert MJPEG to APNG

  1. Upload Your MJPEG File: Drag the .mjpeg onto the page or click "Add Files". This page accepts the raw .mjpeg elementary stream. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours.
  2. Set the Video Framerate: Open Advanced Options. Video Framerate defaults to 10 FPS (Recommended) and offers everything from 1 FPS (Slideshow) up to 50 FPS (Max Speed). This sets how many frames are kept and how fast the finished APNG plays.
  3. Choose the Image Resolution: Image resolution offers Keep original, a percentage, preset heights, or an explicit Width × Height. Scaling happens while the frames are being extracted, because the APNG assembler itself cannot resize.
  4. Convert and Download: Click Convert and save the .apng. The animation loops indefinitely. No sign-up, no watermark.

What a Raw MJPEG Stream Does and Doesn't Carry

This is the detail that explains most surprises. A raw MJPEG file has no container — no AVI, MP4 or Matroska wrapper — and therefore no place to record how fast the frames were captured. Decoders have to assume something, and ffmpeg's long-standing assumption for a timing-free MJPEG stream is 25 fps.

Carried by a raw .mjpeg stream Present?
Complete JPEG frames Yes — that is the entire file
Frame timing or timestamps No; 25 fps is assumed by the decoder
Audio No; the format has no audio provision
Alpha channel No; JPEG cannot store transparency
Duration, resolution or codec metadata No container header exists to hold it
Interframe compression No; every frame is independent

Two practical consequences follow. First, if your stream was genuinely captured at some other rate — a webcam at 15 fps, a time-lapse at 1 fps — the assumed timeline is wrong, and no setting on this page can retroactively fix the real capture rate. Wrapping the stream in a proper container at the correct rate before uploading is the only clean fix. Second, because JPEG has no alpha channel, the resulting APNG is fully opaque even though APNG itself supports transparency; the format's alpha capability is there for you to use later in an editor, not something the conversion can invent.

Frequently Asked Questions

Will the APNG actually animate, or do I get a single frame?

It animates. The converter decodes the JPEG frames out of the stream and assembles them into a true animated PNG with an infinite loop. That is different from a converter that turns a video into a still image — here the whole point is the animation. Where a viewer does not understand APNG, it falls back to displaying the first frame as an ordinary PNG rather than failing.

What framerate should I pick?

10 FPS (Recommended) is a reasonable default that keeps files manageable, but the right answer depends on the content. Screen recordings and slow motion look fine at 10 or 12 FPS. Anything with fast movement needs 25 or 30 to avoid looking choppy. Lower rates keep fewer frames, so the file shrinks proportionally — dropping from 25 to 10 FPS removes well over half the frames. The setting controls both how many frames survive and how quickly the finished animation plays.

Why does my animation play faster or slower than the original capture?

Because a raw MJPEG stream stores no timing at all. The decoder has to assume a rate, and 25 fps is the conventional assumption. If your capture was actually recorded at, say, 15 fps, everything downstream is scaled by that mismatch and the animation appears sped up. Nothing on this page can recover the true rate, because the information was never written to the file. Wrap the stream in a container with the correct framerate before uploading if timing accuracy matters.

Is the APNG going to be bigger than my MJPEG file?

Very possibly, yes. MJPEG compresses each frame with lossy JPEG, while APNG compresses each frame losslessly — and lossless coding of photographic content is expensive. APNG's interframe deltas help when large parts of the picture are static, such as a screen recording with a fixed background, but they do little for handheld camera footage where every pixel changes. If size is the priority, MJPEG to MP4 will beat both by a wide margin.

Does the APNG have a transparent background?

No. Every frame in an MJPEG stream is a JPEG, and JPEG has no alpha channel, so there is no transparency to carry over — the output is fully opaque. APNG's own support for 8-bit alpha is still useful afterwards: if you open the file in an editor and mask out a background, the format will store that transparency properly, which is exactly what GIF cannot do.

Why is APNG better than GIF for this kind of footage?

Because MJPEG sources are photographic, and GIF has to squeeze each frame into 256 colours. That quantization produces the dithering, banding and colour shifts that make converted video look cheap as a GIF. APNG keeps all 16.7 million colours, so gradients, skin tones and compression noise reproduce as they were. The trade is file size and a small compatibility gap — GIF opens in absolutely everything, whereas APNG needs a browser or viewer from the last decade.

Can I make the animation stop after one play?

Not from this page — the APNG is written with an infinite loop, which is what almost every use of an animated image on the web expects. If you need a fixed loop count, the file can be rewritten afterwards with a local APNG tool such as apngasm, which exposes a loop parameter directly.

Does resizing hurt quality more than usual here?

Not more than usual, but it happens at a specific point: the frames are scaled while they are being extracted, before the animation is assembled, because the APNG assembler cannot resize an existing file. Every frame therefore gets the same resampling treatment, and the animation stays consistent. Choosing a preset height rather than an explicit Width × Height keeps the source aspect ratio intact.

What happens to my file after the conversion?

Your MJPEG is uploaded over an encrypted connection, processed on our servers, and both the upload and the generated APNG are deleted automatically after a few hours. There is no account, no watermark, and nothing is shared or made public. If you later want the same animation as a GIF, APNG to GIF handles the second hop.

Rate Convert MJPEG to APNG Online Tool

Rating: 0.0 / 5 - 1 reviews