How to make a Telegram sticker from an image
Telegram is strict about sticker files: one side has to be exactly 512 px, the format has to be PNG or WEBP, and the file has to arrive with its transparency intact. This tool handles the sizing, the outline and the size check, so the @Stickers bot accepts the file the first time.
- Drop a PNG with a transparent background, or a JPG on a plain white or flat-colour background. A sample sticker is already loaded, so you can see the result first.
- Choose the white outline width (8 px is a good default) and keep the soft shadow on, as Telegram recommends.
- Check the sticker in the dark and light chat previews. Make sure the 100×100 emoji is still readable.
- Click “Download sticker + emoji (ZIP)”. In Telegram, send /newpack to @Stickers and upload the 512 px file as a file, not a photo. Use the 100×100 file for /newemojipack or as the set icon.
Telegram sticker and emoji requirements (checked October 23, 2026)
| What | Size | File | Limit |
|---|---|---|---|
| Static sticker | One side exactly 512 px, the other 512 px or less | PNG or WEBP, transparent background | 512 KB (import spec) |
| Static custom emoji | Exactly 100×100 px | PNG or WEBP | Not stated |
| Sticker set icon (thumbnail) | Exactly 100×100 px | PNG or WEBP | 128 KB |
| Video sticker | One side exactly 512 px (emoji: 100×100) | WEBM, VP9, no audio, up to 3 s, up to 30 fps | 256 KB |
| Animated sticker | 512×512 canvas | TGS (Lottie, via the Bodymovin-TG plugin), up to 3 s, 60 fps, looped | 64 KB |
| Stickers per set | Up to 120 stickers in a sticker set and up to 200 in an emoji set | ||
Sources: Telegram, “Telegram Stickers” (core.telegram.org/stickers); Telegram, “Importing Stickers” (core.telegram.org/import-stickers) (the only Telegram page that gives the 512 KB static limit); Telegram Bot API, setStickerSetThumbnail (100×100, up to 128 KB); Telegram Bot API, addStickerToSet (120 and 200 per set). Gridloom is not affiliated with Telegram.
512 on one side, not always 512×512
Telegram doesn’t ask for a square. A static sticker needs one side at exactly 512 px and the other at 512 px or less. So a wide 1200×1000 drawing becomes a 512×427 sticker, and a tall one becomes 427×512. Pick Square 512×512 only if you want every sticker in a pack to sit in the same box. Custom emoji are different: they must be exactly 100×100, so the emoji file is always padded to a square.
The white outline and shadow
Telegram’s sticker page gives one design tip: “a transparent background, white stroke and black shadow effect will make your sticker stand out.” Its import guide goes further and says all static stickers should use a white stroke and shadow. It matters because people read stickers on dark themes, light themes and busy photo wallpapers. The outline here is measured with an exact distance transform, so it is the same thickness all the way around the shape, including thin arms and gaps. Then a soft shadow is laid underneath. At 8 px on a 512 px sticker it reads like the stickers in Telegram’s own packs. Set it to 0 if your art already has one.
How to upload your sticker to Telegram
- Open the official @Stickers bot in Telegram. Send
/newpackfor a static sticker set or/newemojipackfor custom emoji. The @Stickers mini app does the same with buttons. - Send the PNG or WEBP as a file, not as a photo. Telegram compresses photos to JPEG, and JPEG has no transparency.
- Pick the emoji the sticker stands for. Add more stickers, then send
/publish. When it asks for a set icon, send the 100×100 file (or skip it)./setpackiconchanges it later.
Anyone can create custom emoji sets, but adding and using them is a Telegram Premium feature. Stickers work for everyone. For a quick one-off, Telegram’s in-app Sticker Editor (the + button in the sticker panel) turns a photo into a sticker without any files.
What this tool doesn’t do
It makes static stickers and emoji only. Animated stickers need Telegram’s TGS format, made in After Effects with the Bodymovin-TG plugin. Video stickers need a WEBM file encoded with VP9. If you drop a GIF, only its first frame is used. The background remover only handles a plain, even background such as white or a flat colour, and it only clears background that touches the image edge. An enclosed gap, like the inside of a mug handle, keeps its colour. The white outline hides that on white, but not on a coloured background. For a photo of a person or pet, cut the subject out first, or use Telegram’s in-app editor. For Discord, use the Discord emoji maker (128×128, under 256 KB). For Twitch, use the Twitch emote resizer.
Frequently asked questions
What size is a Telegram sticker?
A static Telegram sticker is a PNG or WEBP with one side exactly 512 px and the other side 512 px or less, so 512×512 for a square image or, for example, 512×427 for a wide one. The background should be transparent. Telegram’s sticker import spec caps static stickers at 512 KB (core.telegram.org, checked October 2026).
Does a Telegram sticker have to be 512×512?
No. Only one side has to be exactly 512 px. The other side can be smaller, so you don’t need to pad wide or tall art into a square. This tool keeps your proportions by default and has a Square option if you want every sticker in the same box.
What size are Telegram custom emoji?
Exactly 100×100 px, as PNG or WEBP for static emoji, or a 100×100 WEBM video for video emoji. Anyone can make a custom emoji set with the @Stickers bot (/newemojipack), but using custom emoji in chats needs Telegram Premium.
What size is a Telegram sticker pack icon?
The set icon (thumbnail) is a 100×100 px PNG or WEBP up to 128 KB, according to the Bot API. You can also skip it and Telegram uses the first sticker. The 100×100 file this tool makes fits both the icon and custom emoji rules.
What is the maximum file size for a Telegram sticker?
512 KB for static PNG or WEBP stickers, 256 KB for WEBM video stickers and 64 KB for animated TGS stickers, per Telegram’s import guide. A 512 px PNG is usually 50 to 250 KB. If your PNG is over 512 KB, this tool saves it as WEBP instead and tells you.
PNG or WEBP for Telegram stickers?
Both are accepted for static stickers. PNG is lossless and works everywhere. WEBP is smaller. Animated WEBP is not supported, so animation needs TGS or WEBM.
How do I make a Telegram sticker from a photo without the background?
If the photo has a plain, even background (a white wall, a product shot), set Background to “Remove plain background” and adjust the tolerance until the edges look clean. For busy backgrounds, cut the subject out in an editor first, or use Telegram’s built-in Sticker Editor. Then add the white outline here so any leftover edge is hidden.
Why does @Stickers reject my image?
Usually the image was sent as a photo instead of a file, so Telegram compressed it and dropped the transparency. It also happens when neither side is 512 px or the file is too large. Send the PNG or WEBP from this tool as a file.
Can I make animated or video stickers here?
No. This tool makes static stickers and emoji. Animated stickers use Telegram’s TGS (Lottie) format from After Effects. Video stickers are WEBM files with VP9, up to 3 seconds, 30 fps and 256 KB, with no audio.
Are my images uploaded?
No. Everything runs in your browser with the Canvas API. Your image never leaves your device. One image at a time is free with no watermark. Pro adds batch processing for a whole pack.

