1. Prepare artwork
Use PNG or WebP for static stickers, GIF only when it renders safely, or Lottie JSON and Telegram-compatible TGS for animation. Video and WebM stickers are not supported.
Sticker pack guide
Package static or animated artwork, connect stickers to emoji, and sign one portable .stickers archive that can be shared and installed.
Use PNG or WebP for static stickers, GIF only when it renders safely, or Lottie JSON and Telegram-compatible TGS for animation. Video and WebM stickers are not supported.
Give the pack a stable ID and semantic version, choose its cover sticker, list every file, and preserve complete Unicode emoji sequences exactly.
Validate paths and file limits, then add an ASCII-armored detached OpenPGP signature. The required manifest email must match the signing key identity.
Create a deterministic ZIP archive and give it the .stickers extension. Keep all
paths relative, unique, and inside the archive.
example-cats.stickers/
├── pack.json5
├── signature.asc
├── LICENSE
└── stickers/
├── cat_hello.webp
└── cat_party.tgsThe splash value points to a sticker ID, not a filename. Sticker IDs must be unique, while
one emoji may be associated with multiple stickers. The optional license array
lists relative paths to license files included in the archive.
{
format: 1,
id: "com.example.cats",
name: "Example Cats",
version: "1.0.0",
author: "Example Artist",
web: "https://example.com",
email: "artist@example.com",
splash: "cat_hello",
license: ["LICENSE"],
amount: 4.99,
currency: "USD",
stickers: [
{
id: "cat_hello",
file: "stickers/cat_hello.webp",
emoji: ["👋", "😺"]
},
{
id: "cat_party",
file: "stickers/cat_party.tgs",
emoji: ["🎉", "🥳"],
paid: true
}
]
}id globally stable and increase version for every update.splash is required and may reference a static or animated sticker..., symlinks, duplicate paths, executable code, or video.license array must be relative, unique, and point to a regular text file in the archive.keys.openpgp.org, or another configured key server.Create a GitHub Release and attach the finished .stickers archive as a release
asset. Add the tone-stickers topic to the repository so the pack can be
discovered.
npm install --global stickerpack
stickerpack init example-cats --id com.example.cats
stickerpack validate example-cats
stickerpack keygen --name "Example Studio" --email artist@example.com
stickerpack key-check --email artist@example.com
stickerpack pack example-cats --output example-cats.stickers \
--private-key stickerpack-private.asc
stickerpack verify example-cats.stickerssignature.asc and verify it.