Initializing... drag & drop files here
Supports: MPG, MPEG
APNG turns a stretch of your .mpg or .mpeg video into a looping animation made of full-colour, lossless PNG frames. That is its great strength over GIF — 24-bit colour and real alpha instead of a 256-colour palette — and it is also the reason APNG files get very large very quickly. This tutorial covers the two controls this page gives you, what they do to the file size, and the one thing you should do before uploading a long recording.
.mpg or .mpeg clip, or click "+ Add Files". Every frame of the whole file becomes part of the animation, so upload a short clip rather than a long recording.There is no quality slider, no colour-count control, and no compression level on this page — an APNG is lossless by definition, so there is no quality to trade away. What you can change is how many frames there are and how big each one is, and those two numbers multiply.
.mpg and .mpeg and is the right place to isolate the two seconds you actually want.| Property | APNG | GIF |
|---|---|---|
| Colour | Full 24-bit truecolour, no palette | 256 colours per frame, dithered |
| Transparency | 8-bit alpha (soft edges) | 1-bit (a pixel is either opaque or invisible) |
| Compression | Lossless per frame | Lossy through palette quantisation |
| Typical size from video | Large — often larger than the source video | Much smaller, at a visible cost in colour fidelity |
| Browser support | 95.94% globally per caniuse: Chrome 59+, Firefox 3+, Safari 8+, Edge 79+ | Universal |
| Fallback where unsupported | The first frame displays as a still image | Not applicable |
| Choose it for | Screen recordings, flat graphics, anything where banding would show | Sharing anywhere, chat apps, size-constrained embeds |
If size matters more than colour fidelity, MPG to GIF is the better tool for the same source material.
| Aspect | Behaviour |
|---|---|
| Frame extraction | Each frame is decoded to a lossless PNG at your chosen resolution |
| Assembly | Frames are assembled with an exact per-frame delay of 1 divided by your chosen framerate |
| Looping | Infinite — the animation repeats until the page or viewer stops it |
| Optimisation | A Zopfli recompression pass runs over the finished file |
| Colour | Full truecolour is retained; there is no palette reduction on this page |
| Audio | None. APNG is an image format and carries no sound track |
| Duration | The whole uploaded file, since this page has no trim control |
APNG is the wrong answer for anything long. A one-minute clip at the default framerate is 600 truecolour frames, and no amount of Zopfli fixes that — the format has no interframe motion compensation the way a video codec does. Past a few seconds of footage, what you actually want is a video file: MPG to MP4 for something that plays everywhere, or MPG to WebM for a web-native loop that can autoplay silently in a <video> tag at a fraction of the size. Reserve APNG for short, high-fidelity loops where colour banding would be obvious.
Usually bigger, often much bigger. In our testing, a six-second clip converted at the default 10 FPS and scaled to 360p produced 62 lossless frames that assembled into a 3.5 MB APNG after the Zopfli pass — from a source .mpeg of 3.9 MB that held the full 720x480 raster at its original framerate. Detailed, high-motion footage compresses worst; flat graphics and screen recordings compress far better.
Not on this page. The only controls that render for this conversion are Framerate and Image resolution. There is no palette size, no quality percentage, and no compression level, because the output is truecolour and lossless by construction. If you want palette reduction to shrink the file, that is what MPG to GIF does.
Not from this page — there is no trim control here, so the full uploaded clip is animated end to end. Cut the section you want first with Video Cutter, which accepts .mpg and .mpeg directly, then upload the short result. This is the single most useful habit for keeping APNG output manageable.
It loops forever, and there is no control on this page to change that. The animation is assembled with an infinite loop count, which is the behaviour almost everyone wants for a short clip on a web page. If you need a single playthrough, you would need to edit the loop count in the file afterwards with a dedicated APNG tool.
Because APNG support is a browser and application feature, not a guarantee of the PNG format. caniuse currently puts browser support at 95.94% — Chrome from 59, Firefox from 3, Safari from 8, Edge from 79. Anywhere it is unsupported, the file is still a valid PNG and the defined behaviour is to show the first frame as a still image, so it degrades gracefully rather than breaking.
Use GIF when the file has to be small or has to work in every chat app and legacy tool. Use APNG when colour fidelity matters: gradients, skin tones, screen recordings with anti-aliased text, or anything where GIF's 256-colour palette would produce visible banding. APNG also has real 8-bit alpha, so soft edges stay soft instead of getting the hard fringe GIF gives you.
10 FPS is the default and a reasonable starting point for most footage. Go to 15-25 FPS for fast motion where 10 looks stuttery, and drop to 5 or fewer for slideshow-style material where each frame is meant to be read. Remember the frame count is linear in framerate, so 25 FPS costs two and a half times what 10 FPS costs for the same clip.
There is nothing to survive. MPEG-1 and MPEG-2 video carries no alpha channel, so every frame decoded from a .mpg is a fully opaque rectangle. APNG can store 8-bit alpha, and that capability matters when the source is an alpha-capable format — it just does not apply to MPEG program streams.