22 апреля 2026 г.
Что такое TGS — формат Telegram-стикеров простыми словами
TGS — это сжатый Lottie JSON. Почему Telegram выбрал именно этот формат, откуда взялся жёсткий лимит 64 КБ, размер канваса 512×512 и как уместить сложный стикер.
Если ты делал анимированный стикер для Telegram — ты сталкивался с TGS. Это маленький, странный и принципиальный формат, и как только понимаешь его трейдоффы, дизайнить для него становится сильно проще.
TGS = Lottie + gzip
TGS — это просто Lottie JSON, сжатый gzip. Lottie — открытый формат анимаций от Airbnb: JSON-описание векторных фигур, трансформаций и keyframes. After Effects или генератор кода эмитит Lottie, плеер обходит ключевые кадры и рисует SVG. Telegram выбрал его потому что закрывает все галочки: чистый вектор, анимация, маленький размер, framework-agnostic, играется на телефонах с 2014 года.
Зачем gzip? Сырой Lottie JSON для сложного стикера легко занимает 200–500 КБ. Gzip уменьшает на 60–80% на типичном контенте. После сжатия богатый анимированный стикер комфортно помещается под жёсткий потолок Telegram.
Лимит 64 КБ — откуда он взялся
Сервер Telegram отбрасывает любой TGS больше 64 КБ. Это не произвольное число — это бюджет на мгновенное воспроизведение. Стикеры стримятся по thumbnail-каналу, агрессивно кэшируются и должны начать анимироваться раньше, чем пользователь дочитал «Отправлено». 64 КБ — это порог, под которым любой телефон (включая Android 2017 с 1 ГБ RAM) декодирует и играет без подтормаживаний.
Если превысишь — стикер просто не загрузится. Telegram-клиент даже не покажет внятную ошибку, ты получишь generic-сбой. Инструменты типа SticKit показывают приблизительный размер во время редактирования, чтобы ты мог обуздать сложность до того, как упрёшься в потолок.
Что раздувает TGS
- Bezier-кривые с сотнями точек (сложный глиф шрифта в большом размере)
- Много независимых слоёв со своими keyframes
- Длинные анимации — каждый кадр добавляет байты
- Высокая точность float — TGS-валидатор Telegram режет знаки, но твой генератор может и не резать
- Растровые картинки base64 — Telegram их не пускает в TGS
Канвас: 512×512 для стикеров, 100×100 для эмодзи
Обычные стикеры рендерятся в квадрат 512×512. Эмодзи — 100×100, Telegram ужал чтобы строки эмодзи в чате оставались читаемыми. Если сделаешь стикер в 512 и сконвертируешь в эмодзи 100 — толщина линий и мелкие детали потеряются. Лучше дизайнить под эмодзи изначально: толще обводка, меньше слоёв, проще формы.
Практические выводы
- Всегда смотри на счётчик размера — 64 КБ это hard cap, не soft
- Один слой лучше пяти, если визуально получается то же
- Делай анимации короткими: большинство читаемых стикеров крутятся меньше 2 секунд
- Тяжёлые шрифты (Bungee Outline, Tilt Prism) быстро раздувают пути — для длинных слов бери простые
- Векторные тени стоят копейки, растровые невозможны
TGS — это ограничение, которое толкает тебя к лучшему дизайну. Потолок 64 КБ заставляет каждый стикер оправдывать свой вес, а анимации, которые его уважают — короткие, сфокусированные, векторные — это те, которые реально используют.