A pack contains animated files in four different containers, and people reasonably ask why it is not just GIFs. The answer is that two properties decide everything: whether the slot needs transparency, and whether the platform plays video at all. Once you know those two things for a slot, the format is not a preference, it is forced.
The decision in one table
| Slot | Format | Why that one |
|---|---|---|
| FiveM info banner 1865x108 | GIF | The client renders a still image slot; no video, no alpha needed |
| FiveM connecting banner 1920x320 | GIF | Same slot type, same constraint |
| FiveM logo 1024x1024 | APNG | Needs real transparency, which GIF cannot do properly |
| FiveM in-game watermark 768x288 | WebM | Sits over gameplay, so it must keep its alpha channel |
| FiveM loading screen | Live scene | A resource, not a file; it runs in the client at its refresh rate |
| Discord server banner 960x540 | GIF | Discord animates uploaded GIFs; no transparency in the slot |
| Discord server icon 512x512 | GIF | Animated icon slot, circular crop, no alpha needed |
| Twitch panel 320x100 | GIF | Twitch shows panels as stills, so the GIF is for reuse elsewhere |
| Square post 1080x1080 | MP4 | A social feed plays video; a GIF at this size would be enormous |
| Story and reel 1080x1920 | MP4 | Same reason, vertical |
Transparency is the first fork
GIF transparency is one bit. A pixel is either fully opaque or fully invisible, with nothing in between. That is fine for a hard-edged shape on a known background and useless for anything with a soft edge, a glow or an anti-aliased curve. Put a GIF logo on a dark background and the edge pixels that were blended against white in the source turn into a visible fringe.
APNG carries a full eight-bit alpha channel, the same as a normal PNG, and animates. That is why the transparent logo ships as an APNG rather than a GIF: the mark has a soft outer glow and a chromed bevel, and both of those need partial transparency to sit on an unknown background without a halo.
WebM with the VP9 codec also carries alpha, and unlike APNG it compresses like video rather than like a sequence of images. That matters for the in-game watermark, which is a 768x288 overlay running continuously over gameplay. An APNG of the same clip would be several times the size for no visible gain, because the content is smooth motion rather than flat graphics.
Size budgets are not guesses
Every animated file in a pack is built to a stated ceiling, because every platform has a wall and the file is useless on the far side of it. The budget is met by cutting frame count and palette, not by cutting resolution, because a smaller image is visible immediately and a slightly shorter loop is not.
| Slot | Platform wall | Built to |
|---|---|---|
| Discord server banner | 10MB | Under 7.8MB, 16fps over 2.8s, 160 colours |
| Discord profile banner | 10MB | Under 9.5MB, 18fps over 3.2s |
| Twitch offline screen | 10MB | Under 10MB, plus a 30fps MP4 for OBS |
| Forum signature | Often 500KB to 1MB per board | Under 6MB, 18fps over 3.6s |
| Leaderboard banner 468x60 | Often a few hundred KB | Under 4MB, 20fps over 4s |
| FiveM logo | No hard cap | Under 3MB as APNG |
Two rows there are worth reading twice. Forum boards and ad networks set the tightest limits on the internet, and they set them per board, not by standard. A 6MB signature is well inside what the file format allows and well outside what most phpBB installs accept. If a board rejects it, the still PNG in the pack is the file to use, and that is not a compromise: most boards show signatures at a size where the animation was never going to read anyway.
Frame rate against palette
For a GIF, file size is roughly frames multiplied by the cost of each frame, and the cost of a frame is driven by how many colours it has to carry and how much of it changed since the last one. That gives two levers, and they do not cost the same thing visually.
- Dropping frame rate costs smoothness, and the eye forgives it on slow motion. A drifting cloud at 16fps looks the same as at 30.
- Dropping palette costs gradients, and the eye catches it immediately. A sky going from violet to pink at 64 colours bands visibly.
- So the order is: cut frames first, cut duration second, and only touch the palette when the scene is genuinely flat.
That is why a 960x540 banner at 16fps over 2.8 seconds with 160 colours lands near 7MB and still looks like the still image. Forty-five frames of a slow scene, with enough colours that the sky stays smooth.
What a platform does when you pick wrong
- Over the size cap: the upload is refused outright. Discord does not compress for you, it says no.
- GIF where alpha was needed: a visible fringe in the shape of the original background, worst on dark themes.
- MP4 where alpha was needed: a black box behind your logo.
- Video where the slot takes an image: nothing uploads, and the slot keeps whatever was there before.
- Animated file in a still-only slot, such as YouTube channel art or an X header: the first frame is used, which is often not the frame you would have chosen.
Why stills still matter more
Every animated file in a pack has a still twin, and the still is the one that gets used most. Half the slots that accept an animation display it as a still anyway, Twitch panels among them. Every platform falls back to a still when a user has reduced motion enabled or the client is saving data. And a still is the only thing that works in a search result, an embed preview or a screenshot.
The stills render at two or three times their target size for the same reason: a 1865x108 strip renders at 3730x216, because the slot is drawn at the player's display density and thin type is where softness shows first.
Questions people actually ask
Can I convert the GIF to a video myself?
You can, and for a Discord message or a store page it will look better and weigh less. What you cannot do is go the other way and expect transparency back: once a file has been flattened onto a background, the alpha is gone.
Why is the loading screen not a video?
Because it is a resource that runs in the client, at the client's own refresh rate and resolution, with its progress bar wired to the real loading events. A video is a fixed length that has no idea how long the load is taking. A 30fps MP4 of the same scene ships alongside it, for store pages and trailers where a video is the right tool.
My board rejects the signature. What now?
Use the still PNG. Boards that cap signature images at 500KB are capping them because the signature is shown small beside every post, and an animation at that size is noise rather than branding.
Published 13 October 2026 · 1,219 words ·