Initializing... drag & drop files here
Supports: PNG, APNG
This tutorial is for anyone who needs a still PNG inside a WebM container — a Telegram video sticker, a looping background, or a placeholder clip. One PNG becomes a video that holds that single frame for as long as you set; feed several PNGs and you get an actual frame-by-frame animation.
The Duration control does double duty. For a single still, it simply sets how many seconds the frozen frame plays. For a sequence of PNGs it sets the playback speed, because frame rate is the inverse of per-frame duration:
Leave Quality Preset on "Very High (Recommended)" unless you are squeezing under a size cap, in which case lower it or switch the mode to Constraint Quality. Transparent PNGs are accepted, but WebM/VP9 here is encoded without an alpha channel, so the output is opaque — transparent areas are composited onto the Background Color you choose (white by default), and semi-transparent edges blend smoothly into that color. Set the Background Color to match the surface where the clip will play. For a Telegram sticker, set one side to exactly 512 px (the other 512 px or smaller).
The per-frame Duration you set maps directly to a frame rate for multi-PNG sequences:
| Duration setting | Effective frame rate | Best for |
|---|---|---|
| 1/30s per frame | 30 fps | Smooth animation, Telegram video stickers |
| 1/24s per frame | 24 fps | Film-style motion |
| 0.1s per frame | 10 fps | Lightweight animation, smaller files |
| 1 second per frame | 1 fps | Slideshows |
| 5 seconds per frame (default) | 0.2 fps | Holding a single still on screen |
WebM (VP9) and GIF solve the same "share a short loop" problem from opposite ends: WebM wins on size and color, GIF wins on reach. Pick by where the clip has to play.
| Property | WebM (VP9) | GIF |
|---|---|---|
| Colors | 24-bit (16.7M) | 256 per frame |
| File size | Much smaller for the same clip | Large by comparison |
| Transparency | None — flattened onto the chosen Background Color | 1-bit on/off |
| Plays in email / iMessage | No | Yes |
| Older browsers | Safari 14.1+ / iOS 16+ | Everywhere |
| Best for | Small, sharp clips and Telegram stickers | Maximum reach, simple loops |
If reach matters more than file size, export a PNG to GIF instead.
WebM here is built for stills and simple PNG-frame sequences, not for editing existing footage. If you actually need motion graphics — easing, audio, or compositing — author the clip in a video editor and export WebM there. If you're chasing the broadest compatibility rather than WebM specifically, an animated GIF or an MP4 is the safer share format: see PNG to GIF for looping graphics, or convert the result with WebM to MP4. For other PNG output formats, the PNG converter hub lists every supported target.
No. A lone PNG has one frame, so the WebM holds that image still for the duration you set — it is a static-image video, not an animation. Real motion requires multiple PNG frames; upload them together and each one becomes a frame in the output.
The WebM is encoded with VP9, the royalty-free codec from the WebM Project. VP9 in this pipeline is encoded without an alpha channel, so PNG transparency is not preserved — the output is fully opaque, and transparent areas are composited onto the Background Color option (white by default). Pick any color from the dropdown if you need a specific backdrop.
Yes, if you match Telegram's published limits: WebM with the VP9 codec, no audio, one side exactly 512 px, duration no longer than 3 seconds, up to 30 FPS, and a file no larger than 256 KB. Set the resolution to 512 px and keep the duration short, then check the output size before uploading.
Frame rate is the inverse of the per-frame Duration you choose. Picking "1/30s (single frame at 30fps)" plays 30 PNGs per second; "1 second per frame" plays one. In our testing, 30 sequential PNGs at the "1/30s" setting produced a smooth one-second WebM clip.
WebM (VP9) gives far smaller files and 24-bit color, which is why Telegram standardized on it for video stickers. GIF is capped at 256 colors but plays everywhere — including older browsers, iMessage, and email — so it is the safer pick when you don't control the viewer's player. Use PNG to GIF when reach matters more than file size.
No. This is an image-to-video conversion, so the output is silent — there is no audio track to encode from still PNGs, and Telegram video stickers must be silent anyway. If you need music over the frames, add it afterward in a video editor, or start from a clip that already carries audio.
Frames follow filename order, ascending. The reliable way to lock the sequence is zero-padded numbering — frame-001.png, frame-002.png, and so on — so frame-10 doesn't sort ahead of frame-2. Add all the PNGs in one batch; each becomes a frame at the position its name sorts to.
Apple shipped native WebM decoding only in Safari 14.1 and iOS 16; before that, and in some native iOS apps still, WebM simply won't open. Re-encode to a more universal container with WebM to MP4 when you need it to play on any device.