Initializing... drag & drop files here
Supports: BMP
Drop in a set of BMP bitmaps and this tool stacks them in order into a single animated PNG — each BMP becomes one frame of the loop. BMP is an old, uncompressed bitmap format, so a folder of them is large and static; the APNG output is compressed (often a fraction of the combined BMP size) yet still fully lossless, and it moves. Upload a single BMP and you simply get a clean one-frame APNG.
| Property | BMP (input) | APNG (output) |
|---|---|---|
| Origin | 1990, Microsoft / IBM (OS/2) | 2004, Mozilla |
| Compression | Usually none — raw, uncompressed pixels | Lossless PNG DEFLATE |
| Animation | None — one still image per file | Multiple frames in one file |
| Color depth | Up to 24-bit (16.7M colors) | 24-bit RGB (16.7M colors) |
| Transparency | Rarely used / 1-bit in practice | 8-bit alpha (smooth semi-transparency) |
| Typical size | Large for its dimensions | Much smaller than the BMPs combined |
| Browser support | Not a web image format | ~94.7% — first frame shows where unsupported |
| Best for | Legacy bitmaps, editing source | Animated logos, stickers, UI loops |
Frames play in the order you add the files, top to bottom in the upload list. Because BMP filenames don't carry frame numbers the way a video does, the simplest approach is to name your bitmaps so they sort in sequence — frame-01.bmp, frame-02.bmp, and so on — before you upload them. Upload all of them together and they assemble into one APNG in that order. The FRAMERATE you choose then sets how long each frame stays on screen.
Because BMP is typically stored with no compression at all — every pixel is written out in full, so a single 1920×1080 bitmap can run several megabytes. APNG wraps the animation in PNG's lossless DEFLATE compression, which packs identical and similar pixels efficiently without discarding any data. In our testing, a sequence of ten 800×600 24-bit BMPs (about 1.4 MB each, ~14 MB total) assembled into a single APNG well under 2 MB while staying pixel-for-pixel lossless. You lose nothing but the wasted space.
No, not if you leave the color and quality controls at their defaults. APNG, like PNG, is a lossless format, so an uncompressed 24-bit BMP maps into it without any color loss or recompression artifacts. Quality only drops if you deliberately reduce it — for example choosing "By Color Reduction + Dither" to cut the palette, lowering Image quality (%), or shrinking the resolution to make a smaller file. For a faithful, full-color animation, keep those at their defaults.
APNG plays in roughly 94.7% of browsers worldwide: Chrome 59+, Firefox 3+, Safari 8+, Edge 79+, and Opera 46+, on desktop and mobile. Internet Explorer and Opera Mini never supported it. Crucially, where APNG isn't understood the first frame is shown as an ordinary static PNG, so the image is never broken — it simply doesn't animate. If you need movement absolutely everywhere, keep a BMP to GIF copy as a fallback.
Either works. Upload one BMP and you get a valid single-frame APNG — useful when you want the smaller, compressed PNG-family file but in the .apng container, or as a base to add frames to later. Upload several and they're stitched into an animation. There's no minimum beyond one file and no hard frame count; the practical limit is upload size and time, not a fixed cap.
Yes. Your bitmaps upload over an encrypted (TLS) connection, are assembled on our servers, and the uploads are deleted automatically after a few hours. There's no sign-up, no watermark on the output, and files are never shared or made public. If you instead want a single still web image rather than an animation, convert BMP to PNG gives you a compressed lossless frame without the animation chunks.