Studio
Join the waitlist

How to post a GIF on X (Twitter), Bluesky, Mastodon and Telegram

Fit a GIF to the size and one-GIF rules of X (Twitter), Bluesky, Mastodon and Telegram, make it loop, add a description and check that it plays.

To post a GIF on X (Twitter), open the composer, select the photo icon and choose your GIF file: up to 15 MB on the web or 5 MB in the mobile app. Make it loop, or it shows as a still image, and add no other images: X (Twitter) takes one GIF per post. For a GIF from the built-in library, select the GIF icon instead.

Mastodon’s guide allows one animated GIF per post, up to 16 MB and under 1 megapixel (1280×720). On Telegram, a GIF goes out as its own message, outside any album. On Bluesky, check the composer’s current options. This guide follows a made-up bakery’s four-second GIF and covers your own GIF files, not libraries or video.

GIF limits on each network

Network Largest GIF GIFs per post What to know
X (Twitter) 15 MB on the web, 5 MB on mobile One, with no other images A GIF that plays once shows as a still
Bluesky Check the composer One, as the only media A video can be marked to show as a GIF
Mastodon 16 MB, under 1 megapixel (1280×720) One Turned into a soundless video that loops
Telegram 50 MB from a bot One, as its own message Never in an album; a bot’s caption holds 1,024 characters

Sources: X (Twitter)’s photo and GIF help, Mastodon’s posting guide, Bluesky’s video format and Telegram’s Bot API.

Prepare the file before you upload

  • Loop it. Set the export to repeat forever.
  • Keep it short. A few seconds is enough to show one change.
  • Shrink it. Lower the frame rate, use fewer colors or reduce the width and height.
  • Use a solid background. Mastodon turns a GIF into video, which has no transparency.
  • Avoid fast flashing. More than three bright flashes in one second can cause seizures in some people.
  • Check the first frame. Readers who turn off autoplay may see only that frame.

The bakery’s GIF came from a phone video: 1,080 × 1,080 px and 18 MB, too big for X (Twitter) and Mastodon. Resized to 640 × 640 px, with fewer frames per second and looping on, it’s under 5 MB and 1 megapixel and fits every limit above.

Write a description for the motion

Say what happens, not only what’s in the picture. Name the change and why it matters, and type out any text shown in the frames. The bakery writes “Time-lapse: a sourdough loaf rises and splits along its score in the oven”, not “A loaf of bread”.

X (Twitter), Bluesky and Mastodon keep a description with the GIF. Telegram has no description field for a GIF, so put what it shows in the caption. The alt text checklist covers the rest.

Keep one GIF per post when cross-posting

Post each GIF on its own. X (Twitter) and Telegram require it, a Bluesky post holds one video or a set of pictures but not both, and Mastodon’s guide allows one GIF per post.

If you also have photos, give them their own post. The bakery posts the GIF alone on all four networks and its two recipe photos, sized with the image size guide, in a second post. On Telegram, the photos follow as an album. Elsewhere, the photo post replies to the GIF post (the thread guide covers reply order).

If some readers may not want to see the GIF, mark it sensitive where the network offers that. On Mastodon, a content warning does this too (the content warnings guide explains the difference).

Publish and check that it plays

Open each post in the network’s own app, not only in your posting tool. Check that the GIF moves and starts again at the end, the description (or Telegram caption) is there and the feed preview doesn’t cut off what matters.

What you see What to try
A still image on X (Twitter) Export again with looping on, then post again
Too large in the X (Twitter) app but under 15 MB Post from the web, or bring it under 5 MB
File refused as too large Fewer frames, fewer colors or smaller dimensions
Description missing Edit the post if the network allows it, or post again

Post GIFs from one place

Studio posts GIFs to X (Twitter), Bluesky, Mastodon, Misskey and Telegram from one composer. It takes GIF files under 15 MB and under a minute, but not video files. It warns for each network, for example “X (Twitter) allows one GIF per post, on its own”, and won’t publish or schedule the post until it fits. On Mastodon, keep to one GIF yourself, because Studio allows more there.

Each GIF has its own description and a “Sensitive” switch. If you publish before a new GIF is ready, Studio offers “Publish when ready” or “Wait”. A scheduled post waits for its GIF instead of going out without it. No network gets a still image in place of the motion, Bluesky included. Studio isn’t available yet, but you can join the waitlist.

Written by

Reunified makes apps that bring scattered things back together.

Keep reading

All posts

Coming soon

Join the waitlist

Leave your email and we'll write to you when Studio is ready to download.

Where will you use Studio?