Initializing... drag & drop files here
Supports: MP4, M4V
APNG is animated PNG — every frame stored losslessly in full 24-bit colour with an 8-bit alpha channel, which is exactly what GIF cannot do. That makes it the right target for short clips with gradients, soft shadows, anti-aliased type or screen-recorded UI, where GIF's 256-colour palette produces visible banding and jagged edges. It also makes APNG files big, and this page has no length limit to stop you, so most of this tutorial is about the two controls that decide whether your output is 2 MB or 200 MB: Framerate and Image resolution.
.m4v (or .mp4) onto the page or click "Add Files". The whole clip is converted — there is no trim control here, so cut the source first if it is long..apng file. No sign-up, no watermark.APNG is lossless, so there is no quality slider to lean on — the output size is driven almost entirely by how many frames you produce and how many pixels each one holds. Frame count is simply clip length × framerate:
| Clip length | at 5 FPS | at 10 FPS (default) | at 25 FPS | at 50 FPS |
|---|---|---|---|---|
| 3 seconds | 15 frames | 30 frames | 75 frames | 150 frames |
| 10 seconds | 50 frames | 100 frames | 250 frames | 500 frames |
| 30 seconds | 150 frames | 300 frames | 750 frames | 1,500 frames |
| 1 minute | 300 frames | 600 frames | 1,500 frames | 3,000 frames |
| 5 minutes | 1,500 frames | 3,000 frames | 7,500 frames | 15,000 frames |
Every one of those frames is a full lossless image at your chosen resolution, so halving the framerate roughly halves the file, and dropping a 1080p clip to 480p cuts the pixels per frame by about 75%. Practical patterns:
Behind the scenes the frames are extracted as full RGBA PNGs, assembled with apngasm at the framerate you chose — the per-frame delay is exactly 1/fps — with the loop count set to infinite, and then run through a Zopfli optimisation pass to squeeze the final file.
| Property | APNG | GIF | Animated WebP |
|---|---|---|---|
| Colour depth | 24-bit, millions of colours | 256 colours per frame | 24-bit |
| Transparency | Full 8-bit alpha | Binary on/off, hard edges | Full 8-bit alpha |
| Compression | Lossless | Lossless within a 256-colour palette | Lossy or lossless |
| Typical size for the same clip | Large | Moderate, but banded | Smallest |
| Browser support | 95.94% globally — Chrome 59+, Firefox 3+, Safari 8+, Edge 79+, Opera 46+ | Universal | Very broad |
| If the browser can't play it | Shows the first frame as a still | Always plays | Nothing renders |
| Extension you download here | .apng |
.gif |
.webp |
| Best for | Logos, UI clips, gradients, soft edges | Maximum reach, simple graphics | Smallest web animations |
Support figures are from caniuse's APNG table, which also confirms the fallback: "where support for APNG is missing, only the first frame is displayed." That graceful degradation is a real advantage over animated WebP, which renders nothing at all when unsupported.
.png extension, so renaming clip.apng to clip.png fixes it without changing a byte.Two situations are outside what this page can do. Long-form video is the main one: there is no start/end control here, so the full duration is converted, and a multi-minute lossless animation is impractical as a file and as a web asset — cut the clip down first with the video cutter and come back with a few seconds. The other is footage where APNG is simply the wrong tool: live-action video with grain and continuous motion has none of the flat colour that lossless compression relies on, so you end up with a file many times larger than the video it came from and no visible benefit. For that content, keep it as video, or accept the palette reduction and use GIF.
Colour and edges. GIF quantises every frame to 256 colours and only supports on/off transparency, so gradients band and anti-aliased edges pick up a halo against any background that is not the one they were flattened against. APNG keeps full 24-bit colour and an 8-bit alpha channel, so a logo, a UI recording or anything with soft shadows survives intact. The cost is file size, and the cost of GIF is that it plays everywhere — pick accordingly.
Only if the source actually has an alpha channel. Our pipeline extracts frames in RGBA precisely so alpha survives, but standard H.264 video does not store transparency, and the overwhelming majority of M4V files are standard H.264. If your clip came from a motion-graphics render or a screen capture that genuinely preserved alpha, it carries through; otherwise expect an opaque result.
There is no frame ceiling on our side, which is a double-edged answer — it means a five-minute clip at 25 FPS will genuinely attempt 7,500 lossless frames. The sensible working limit is a few seconds up to about fifteen. Beyond that, either the upload or the resulting file becomes the bottleneck. Trim the source with the video cutter before converting.
Because H.264 stores differences between frames and throws away detail you will not notice, while APNG stores each frame losslessly. A 30-second 1080p H.264 clip might be 8 MB; the same content as 750 lossless frames is a different order of magnitude. That is the trade you are making for lossless colour and alpha — it is why APNG suits short clips and not whole videos.
10 FPS, the setting the page starts on, is a good default for UI clips and motion graphics: it reads as smooth for most content while producing a tenth of the frames a 50 FPS export would. Go to 25 FPS when the motion is fast or continuous and stutter would be obvious. Drop to 5 FPS or lower for slideshow-style sequences. Framerate is the single cheapest lever on file size, so try lowering it before you lower resolution.
The height. Picking 480p targets a 480-pixel height and lets the width follow the source aspect ratio, so a 16:9 clip becomes roughly 854×480 rather than being squeezed into a fixed frame. If you need exact pixel dimensions, use Width x Height instead, and use Width (Keep aspect ratio) or Height (Keep aspect ratio) when only one dimension matters.
It loops forever. The assembler is given a loop count of zero, which in APNG means infinite repetition, and there is no loop-count control on this page. If you need a fixed number of plays, you will need a dedicated APNG editor after the fact — or use a video element, which gives you loop control in markup.
Your M4V is uploaded over an encrypted connection, converted on our servers, and deleted automatically after a few hours. No sign-up, no watermark, and files are never shared or made public. Because a video upload carries the full picture stream, upload time — not any device limit — is usually what you wait on; the APNG is produced server-side and downloaded when it is ready.