Initializing... drag & drop files here
Supports: APNG, PNG
Input APNG, output APNG — this is a re-process, not a format change, and it exists for three jobs the format itself makes awkward: re-timing an animation to a single uniform frame rate, resizing one that was exported too large, and building one animation out of a set of separate PNG frames. Transparency comes through intact, because APNG carries a real alpha channel and the output is APNG too. If you were looking for a different format, use APNG to GIF or APNG to MP4 instead; if you only want the file smaller, Compress APNG is the tool tuned for that.
.apng and .png are accepted, so you can drop in one existing animation or a set of individual PNG frames to be assembled..apng. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark.| Control | What it does | When to reach for it |
|---|---|---|
| FRAMERATE (1–50 FPS) | Replaces the animation's timing with one uniform rate across every frame | Evening out a jittery loop, slowing a sprite sheet down, speeding up a slow screen recording |
| Image resolution | Scales the output by percentage, to a preset, or to exact pixel dimensions with aspect ratio kept | Shrinking an oversized export for a web page, README, or chat sticker |
| Combine? | Single animation merges every uploaded file into one APNG; Individual files processes each separately | Assembling numbered PNG frames into an animation, or batch-processing several APNGs at once |
There is deliberately no quality slider, colour-palette control, or lossless toggle on this page: APNG stores pixels losslessly by design, so a re-export at the original resolution does not soften the artwork. Resizing is the one setting that resamples pixels, and that is the trade you are explicitly choosing when you use it.
The FRAMERATE dropdown ships at 10 FPS, and that single default causes most surprises on this page. APNG stores an explicit delay for every frame, so a source animation can have uneven timing baked in — a long hold on the first frame, quick frames in the middle, a pause at the end. Re-exporting flattens all of that to the rate you pick.
| Property | Value |
|---|---|
| Full name | Animated Portable Network Graphics |
| Standard | Part of the PNG Specification (Third Edition), a W3C Recommendation published 24 June 2025; APNG is covered in section 4.9 |
| How it works | An acTL animation-control chunk plus fcTL frame-control and fdAT frame-data chunks layered onto an ordinary PNG |
| Compression | Lossless |
| Transparency | Full alpha channel, 8 or 16 bits per sample — not the 1-bit on/off mask GIF is limited to |
| Colour | True colour, unlike GIF's 256-entry palette |
| Audio | None; APNG is an image format |
| Browser support | Firefox 3+, Safari 8+ (including iOS 8+), Chrome 59+, Edge 79+ — roughly 96% of browsers in use, per caniuse |
| Fallback behaviour | Where APNG is unsupported, only the first frame is shown, so the file still renders as a static image |
| Best for | Short lossless animations with soft edges, transparent backgrounds, or fine gradients |
frame_001.png, frame_002.png) before uploading.Re-exporting cannot fix a source that was already damaged — if the original APNG has dropped or corrupted frames, those frames stay missing. It also cannot rescue a file whose real problem is the format: many social and chat platforms re-encode uploads and keep only the first frame, so no APNG setting will make the animation move there. In that case, change format rather than settings — APNG to GIF for the widest legacy support, APNG to MP4 for a video that platforms will actually play, or APNG to WebP for a modern animated image that keeps alpha at a fraction of the size. If all you want is one still image out of the loop, use APNG to PNG.
No — the input and output are both animated PNG, so this is a re-encode rather than a conversion. What changes is timing, dimensions, or how many files come out the other end. Think of it as an export pass: useful when an animation plays at the wrong speed, arrives too large for a page, or exists as a folder of frames that needs assembling into one file.
It overrides it. APNG stores a delay per frame, which is why an animation can pause on one frame and race through others. Choosing a FRAMERATE value applies one uniform rate across every frame, so any deliberate variable timing in the source is flattened. That is exactly what you want for a jittery screen capture and exactly what you do not want for a hand-timed animation — in the second case, match the dropdown to the source rate.
Yes, and it is one of the main reasons to use this page. Both .apng and .png are accepted inputs: upload your frames in order, set Combine? to Single animation, and pick the FRAMERATE you want them played at. Since individual PNGs carry no timing of their own, that dropdown is the only thing deciding playback speed, so choose it deliberately rather than leaving it at the default.
Yes. APNG carries a true alpha channel — 8 or 16 bits per sample, not GIF's single transparent palette entry — and because the output format is APNG as well, soft anti-aliased edges and semi-transparent shadows come through intact. This is the main reason to keep an animation in APNG instead of converting it to GIF, where partial transparency has to be reduced to a hard on/off mask.
Yes, in intent. Compress APNG is aimed at making the file smaller and exposes the settings that do that. This page exposes the export controls — frame rate, resolution, and whether multiple uploads merge — so you can change how the animation plays and how big its canvas is. Reducing the resolution here does shrink the file as a side effect, but size reduction is not what the page is optimised for.
Because that viewer or platform does not support APNG, and the specification's fallback is to display the first frame rather than fail. Browser support is now broad — Firefox since version 3, Safari since 8, Chrome since 59, Edge since 79, covering about 96% of browsers in use — but individual apps and social platforms often re-encode uploads through their own pipeline and keep only frame one. Test the file in a browser first to tell a bad file apart from an unsupportive host.
Stay on APNG when the artwork needs true colour or soft transparent edges, and when the destination is a modern browser. Switch to APNG to GIF when something in the chain is old enough to require GIF, accepting a 256-colour palette and hard-edged transparency. Switch to APNG to WebP when you want to keep alpha and true colour but need a much smaller file — animated WebP typically compresses far better than lossless APNG.
Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public. Because APNG is lossless, animations tend to be heavy for their duration, so the practical constraint on a long or high-resolution loop is upload size and time rather than the re-export itself.