Why convert TGS to JSON?
Sticker creators and developers extract the Lottie .json to inspect or edit the animation - adjusting timing, layers, or colours - or to re-package the sticker for a different platform or Lottie player.
How to convert TGS to JSON
7-Zip OPEN-SOURCE
Rename the .tgs file to .json.gz, right-click and choose 7-Zip > Extract here; the extracted file is the Lottie JSON.
gunzip FREE
Run cp sticker.tgs sticker.json.gz && gunzip sticker.json.gz in a terminal to decompress and produce sticker.json.
python-lottie OPEN-SOURCE
Install with pip install lottie and run lottie_convert.py sticker.tgs sticker.json; python-lottie handles the gzip step automatically.
About these formats
A TGS file is a Telegram animated sticker - gzip-compressed Lottie vector animation, typically 20-30 KB. No desktop app opens it by double-click; it plays natively in Telegram. On a PC,…
Open .TGS details →A JSON file is a plain-text data file in JavaScript Object Notation format, used by web APIs, app configurations, and data exports. Any text editor opens it - Notepad on Windows, TextEdit…
Open .JSON details →Quality & what to watch
- This is lossless decompression - every vector shape, keyframe, and timing value is preserved exactly; nothing is re-encoded.
- The output is Lottie-format JSON (keys such as
v,fr,ip,op,layers); a Lottie player or editor is needed to render the animation, not just a text editor. - The decompressed JSON is typically 100-300 KB compared to the 20-30 KB
.tgs- the increase is expected from removing gzip compression.
Frequently asked questions
Is anything lost when converting TGS to JSON?
Can I open the resulting JSON in a text editor?
What do Telegram's sticker constraints look like in the JSON?
w, h, and fr fields; the duration is encoded in ip and op.