Stax

…

Tools

Telegram Sticker Maker: Video to WebM VP9, Free

Make a Telegram video sticker or custom emoji from a video, GIF or picture: WebM VP9, 512 px, no sound, checked against the 256 KB limit. Free, in your browser.

Last updated:

Drop a video, GIF or picture here, or click to browseMP4, MOV, WebM, GIF, PNG, JPG, WebP — one file at a time🔒 Processed on your device — never uploaded
How the file is made, and what differs from Telegram's advice

The video is re-encoded in your browser as VP9 in a WebM file with no sound. In our testing this engine's VP9 encoder stopped with a memory error when it coded a frame predicted from an earlier one, so every frame is stored on its own. The result is a genuine VP9 WebM, but it is larger than a file that can use frame-to-frame prediction, so the tool searches for a quality that fits, and lowers the frame rate if it must. Telegram's page suggests a constant-quality encode in two passes; this tool uses a single pass.

Was this tool useful?

Use the tool above and you can rate it here.

Make a video sticker and check it against Telegram's rules

A Telegram video sticker is a very short, silent WebM clip with strict limits: VP9 video, 3 seconds at most, 30 frames a second at most, 256 KB at most, and one side exactly 512 pixels. A custom emoji uses the same kind of file at exactly 100 x 100 pixels. This tool takes your own video, GIF or picture, cuts the part you choose, sizes it, removes any sound and encodes it. It then tries different quality settings, up to 5 tries, to bring the file under the size limit, and reads the finished file back and shows Pass or Fail for each rule. It does not always succeed: a long or very detailed clip can end over the size limit, and it is slow, because your own device does the work. It runs in your browser, so your file is not uploaded. It is not made by, affiliated with or endorsed by Telegram.

What Telegram's own pages say (read 15 October 2026)

Telegram's sticker page says a video sticker or video emoji is a .WEBM file encoded with the VP9 codec, that it requires Telegram 8.5 or higher, and that it must not last longer than 3 seconds, can run at up to 30 frames a second, must have no audio stream and should not exceed 256 KB. For a sticker, one side must be exactly 512 pixels and the other 512 pixels or less; for an emoji the video must be exactly 100 x 100 pixels. It says the video should loop. Telegram's separate encoding page adds advice: use a constant 30 frames a second, check that VP9 and not VP8 is selected, use a constant-quality setting at a low or the lowest setting with two-pass encoding, and switch to a variable bitrate if constant quality is still not small enough. Static stickers and emoji can instead be a PNG or WebP picture with the same pixel sizes; the sticker page gives no byte limit for them. The pages do not say whether a kilobyte is 1,000 or 1,024 bytes, so this tool aims for 256,000 bytes, which fits either reading, and reports the check against 262,144 bytes (256 x 1,024).

What the tool does with your file

You choose a sticker or a custom emoji, whether to keep the whole picture or cut a centred square, a start time and a length of up to 3 seconds, and a frame rate. For a video or a GIF you pick the segment; a still picture becomes a still clip of the length you set. The tool scales the picture so the longer side is exactly 512 pixels for a sticker (the other side is kept to an even number), or fits it into 100 x 100 for an emoji, drops any sound, and writes a WebM with VP9 video. After encoding it reads the file back with the same engine and lists its file type, codec, picture size, length, frame rate, sound and byte count against Telegram's figures, each marked Pass or Fail. For a video or a GIF it also offers a play-forwards-then-backwards option: the segment is cut to half the length and followed by itself in reverse, so the last frame is the first frame again and the clip does not jump when it repeats.

How it tries to get under the size limit, and how this differs from Telegram's advice

The video engine that runs in the browser is FFmpeg compiled for the web (ffmpeg.wasm 0.12.10, one thread). In our testing its VP9 encoder stopped with a memory error when it coded a frame predicted from an earlier frame, on any picture with real detail. The tool therefore stores every frame on its own, with no look-ahead. The result is a genuine VP9 WebM, but a file made this way is larger than one that can use frame-to-frame prediction, and the tool uses a single pass instead of the two passes Telegram suggests. To compensate, it encodes at a constant quality and searches: it starts at a middle quality, lowers the quality if the file is over 256,000 bytes, raises it if there is plenty of room, and makes at most 5 tries. If the quality is already very low and the file is still too big, and you leave the option on, it lowers the frame rate. If nothing fits within those tries, it keeps the smallest file it made, and the file size line shows Fail when that file is over 262,144 bytes. In our simple test clips (a short colour clip, a picture with a transparent background) the result met every rule. In our worst-case stress test, a 3-second clip of full-frame random noise, the tool took about 755 seconds (over 12 minutes) on the test computer and still failed the size limit, which the page showed as Fail. A long, busy, full-frame clip may do the same, and a shorter segment or a lower frame rate may help.

Transparency

Stickers look best without a background. A PNG or a GIF that has transparent pixels keeps them in our tests: the tool writes the video with an alpha channel (pixel format yuva420p) and turns off the alternate-reference-frame setting that this needs, then checks the finished file for the alpha flag and tells you whether the transparency was kept. WebP files are handled the same way in the code but were not part of our tests. Transparency is looked for on the first frame of a picture or GIF, so a GIF that is transparent only in later frames comes out solid. It is not read from a video file such as an MP4 or MOV, so a video with an alpha channel comes out solid. You can also choose to fill transparent areas, and the empty space around an emoji, with white or black. A file with an alpha channel can come out bigger than the same clip without one. The preview of the result is shown on a checkerboard so you can see any transparency.

Getting the file into Telegram

This tool cannot add a sticker to Telegram. To use the file you create the sticker set in Telegram itself, where Telegram's sticker page names the @Stickers mini app and the @Stickers bot, and upload the WebM there. Telegram then decides whether it accepts the file, and its rules can change. Telegram's page also says that anyone can create custom emoji, but adding and using custom emoji sets is currently a Telegram Premium feature. This tool only prepares the file. To cut a longer clip first, you can use the video trimmer; for a GIF, the video to GIF maker makes a GIF from a video and the GIF to video converter turns one into an MP4 or WebM.

What it does not do

It does not remove a background from a photo, so a cut-out look needs a PNG or GIF that already has one. It does not make animated TGS stickers, which are a different vector format, and it does not make the static PNG or WebP stickers that Telegram also accepts. It does not read transparency from a video file, and does not add text, outlines or shadows. Animated WebP files were not tested and may not work. It cannot test that a clip loops, only play it for you on repeat. It cannot promise that Telegram or the @Stickers bot will accept the file. The video engine, about 31 MB, is downloaded once and kept on your device. Encoding is slow, because your own device does the work: a long, detailed clip can take many minutes to try several qualities, and may still end over the size limit.

Sources and checks

  • Telegram: Stickers and emoji: Video sticker and emoji requirements: WebM, VP9, 3 seconds, 30 frames a second, 256 KB, no audio, 512 pixel side or 100 x 100 for emoji, the PNG or WebP sizes for static stickers, and the note that custom emoji sets are a Premium feature.
  • Telegram: Encoding a WebM VP9 video: Encoding advice: check VP9 is selected, remove audio, constant 30 frames a second, constant quality with two-pass encoding, variable bitrate if that is not enough. It does not say whether a kilobyte is 1,000 or 1,024 bytes.

Frequently asked questions

What are Telegram's rules for a video sticker?
According to Telegram's sticker page, a video sticker is a WebM file with VP9 video, at most 3 seconds long, at most 30 frames a second, at most 256 KB, with no audio, and one side exactly 512 pixels and the other 512 or less. A custom emoji is exactly 100 x 100. Rules read on 15 October 2026; check Telegram's pages if it matters.
How do I make a Telegram video sticker from a video or GIF?
Drop the file into the box, set the start time and length (at most 3 seconds), choose Video sticker and press Make sticker. When it finishes, check whether every line says Pass, press Download, and add the WebM to a sticker set in Telegram (the @Stickers mini app or bot). If the file size line says Fail, see the answer on the size limit below.
Can I make a custom emoji with this?
Yes. Choose Custom emoji and the tool makes a 100 x 100 WebM, cutting a centred square or keeping the whole picture with empty space around it. Telegram's page says anyone can create custom emoji but adding and using custom emoji sets is currently a Premium feature, and adding the emoji to Telegram is done in Telegram, not here.
Why is my sticker over the size limit, and can the tool fail?
Yes, it can fail. The tool makes at most 5 tries, and if the best file is still over 262,144 bytes (256 KB) the file size line shows Fail. A long, busy, full-frame clip makes a big file, and a clip with an alpha channel may be bigger again. Because every frame is stored on its own, files are bigger than a normal VP9 encode. Try a shorter length, a lower frame rate or a simpler picture. In our worst-case test, a 3-second clip of random noise, it took about 755 seconds and still failed. The tool never changes the 512 pixel side, because the rules fix it.
Does it keep a transparent background?
For a PNG or GIF that has transparent pixels, yes in our tests: the video is written with an alpha channel and the result says whether the flag was found in the file. WebP is handled the same way in the code but was not tested. A video file such as an MP4 is not read for transparency, so it comes out solid. You can instead fill transparent areas with white or black.
Why does the tool not use two-pass encoding, as Telegram suggests?
Telegram's encoding page recommends constant quality with two passes. In our testing the VP9 encoder inside the browser's FFmpeg (ffmpeg.wasm 0.12.10) stopped with an error when it coded a frame predicted from an earlier one, so the tool stores every frame on its own, in a single pass, and searches for a quality that fits instead. The file is real VP9 but larger for its quality, which is why it can end over the limit.
Will Telegram definitely accept the file?
No tool can promise that. This one checks the file against the figures on Telegram's pages and shows Pass or Fail for each, but Telegram decides, and its rules can change. Add the file with the @Stickers mini app or bot, and if it is refused, read Telegram's message and compare it with the table.
Is my video uploaded, and is it free?
Your file is not uploaded: the conversion runs in your browser using a WebAssembly build of FFmpeg, and the browser downloads that engine (about 31 MB, once) to do it. The tool is free to use, adds no watermark and needs no account. It is not made by or connected to Telegram.

Related tools