SVG to TGS Telegram sticker animation

telegram bot custom emoji

Custom Emoji and Stickers for Telegram Bots

Turn an SVG symbol into TGS, add it to a custom emoji pack and copy the returned ID for your bot. Check Telegram's usage conditions before integrating it.

Create Bot Asset

TGS preparation, pack creation and sending from your bot are separate steps.

Create Bot Asset Static vector SVG. Embedded images and text are ignored during export.
Create Bot Asset
Browser-based editor Vector SVG inputPreview before exportTGS download

Choose a sticker message or an emoji within text

A regular sticker is sent as a separate sticker message. A custom emoji appears within text and is referenced by a custom_emoji_id. Downloading a TGS does not give your bot that ID or grant permission to use custom emoji.

For a confirmation, decide whether the bot should send a standalone sticker or a short text response containing your branded symbol. That decision determines whether you select Sticker or Emoji in the connected Telegram actions.

Check the bot's eligibility first

Telegram permits custom emoji entities for bots with additional usernames purchased on Fragment, or in messages the bot sends directly to private, group and supergroup chats when its owner has Telegram Premium. The owner-Premium route does not establish eligibility for channel posts or inline results.

Pro here unlocks our connected export and pack actions; it is not Telegram Premium. A successful preview from this service's bot does not prove that a different bot can send the same emoji in every context. Check the current Bot API rules for the bot and destination you will actually use.

Get the ID from a real custom emoji pack

In the converter, Pro users can choose Emoji and add the generated TGS to the custom emoji pack managed by this service. The server returns the Telegram custom_emoji_id along with the pack result. Copy that ID from the result for your integration; do not substitute the download filename or a sticker file_id.

The free path is to download the TGS after login and publish it through your own Telegram workflow. Obtain the resulting custom emoji ID from that published pack, for example from the custom_emoji_id field of an item returned by getStickerSet. The ID is assigned by Telegram, not embedded in the source SVG or generated by compression.

How it works

From an SVG icon to a usable bot emoji reference

Turn an SVG symbol into TGS, add it to a custom emoji pack and copy the returned ID for your bot. Check Telegram's usage conditions before integrating it.

  1. Choose the destination and message type

    Decide whether you need a regular sticker reply or an emoji within text. For custom emoji, verify the bot's eligibility for that chat context before preparing the integration.

  2. Import SVG and sign in

    Select a simple SVG and sign in with Telegram. Selecting the source sends a diagnostic copy to the service, including before login; conversion is computed in the browser. Preview the symbol and its full animation loop.

  3. Export and inspect TGS

    Download the generated TGS and review it in the checker. This checks supported structural rules; it cannot verify a bot's account eligibility or guarantee Telegram acceptance.

  4. Create the custom emoji item

    With Pro, select Emoji and add it to the managed emoji pack, then copy the ID returned in the result. Alternatively publish the downloaded file yourself and obtain the ID from the resulting custom emoji pack.

  5. Use the ID in your bot and test

    Send a custom emoji entity or an HTML tg-emoji tag with that ID and an ordinary emoji fallback. Test from your own bot in the actual destination. SVG to TGS prepares the asset and managed pack result; your bot code sends the final message.

Use cases

Where this workflow fits

Create vector artwork for Telegram stickers, custom emoji and branded packs.

A confirmation within text

Place the custom emoji next to a short, explicit success message so the meaning also survives the ordinary emoji fallback.

A separate sticker reply

Use the regular sticker route when the response should be a standalone visual rather than an inline text entity.

A reusable branded symbol

Keep the returned ID with the bot's configuration and preserve the source artwork for later changes.

A composed emoji banner

Use the separate grid tool for several coordinated tiles; one tile's ID is not an identifier for the entire mosaic.

Format

Use the correct identifier and message API

For custom emoji text, use custom_emoji_id with a custom_emoji entity or tg-emoji markup. For a regular sticker message, use sendSticker with an accepted sticker reference or upload. These are different message paths; renaming a TGS or pasting its filename into an emoji ID field cannot switch between them.

Keep an ordinary emoji as the fallback for the custom symbol, and include meaningful text for states such as success or error. The pack action does not connect, configure or modify your own bot.

Tips and requirements

Test the integration in its real context

  • Check the bot owner's eligibility, not just the recipient's subscription.
  • Distinguish a direct message, a group message, a channel post and an inline result when checking Telegram's rules.
  • Copy the ID after a successful add-to-emoji-pack action; preview is a separate action and does not expose a reusable ID.
  • Test the fallback and accompanying text as well as the animated symbol.
  • Use the regular sticker route if that is the message type your bot needs.

FAQ

Frequently asked questions

Can every Telegram bot use my custom emoji?

No. File preparation and pack creation do not remove Telegram's bot eligibility rules. Review the conditions above and the linked Bot API documentation for your bot and destination.

Where do I get the custom emoji ID?

After a successful add-to-emoji-pack action, choose Copy emoji ID in the result. Preview does not expose a reusable ID. If you publish independently, obtain the ID from the resulting custom emoji pack. It cannot be calculated from the SVG or TGS filename.

Does the Pro pack action configure my own bot?

No. It creates or appends to the pack managed by this service and returns the result. You still implement and test message sending in your own bot.

Is the same ID used by sendSticker?

No. A custom_emoji_id identifies an emoji for inline text use. A regular sticker message follows sendSticker and its accepted file or sticker reference. Keep these two integrations separate.

What about a multi-tile emoji banner?

Emoji Grid Maker generates separate TGS tiles. Static ZIP creation is free and local without login; Telegram preview needs login and animated grid effects require Pro. The tiles remain separate custom emoji items when assembled into a message.

Start now

Create a Telegram bot visual asset

Prepare one SVG symbol, choose its pack type and copy the returned custom emoji ID when your bot integration needs inline emoji.

Create Bot Asset