Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
GIFtoMP4
Up to 100 files at once. Mixed formats are fine.
Converting GIF to MP4 keeps the same animation at a fraction of the size — in our own testing a 448 KB GIF became a 23 KB MP4, playing identically. Drop the file above and it converts inside your browser. This is what the big platforms already do to your GIFs behind the scenes, because they are the ones paying for the bandwidth.
The whole difference is one idea: motion compensation. A video encoder stores one complete frame and then, for each frame after it, records only what changed. An animation of a logo moving across a static background costs almost nothing after the first frame, because almost nothing is different.
GIF has no such mechanism. It stores every frame as a whole picture, one after another, with at most 256 colours each. That design is from 1989 and has never changed, which is why a five-second GIF can outweigh the minute-long video it was cut from. Converting does not compress the same file better — it stores the same animation in a fundamentally more efficient way.
Upload a GIF to Twitter, Reddit, Discord or most messaging apps and it does not stay a GIF. It is converted to video on arrival, silently, and served back as one. The little "GIF" label you see is a label; the file behind it is MP4.
They do this because bandwidth is their cost, not yours. Doing it yourself before uploading means you control the quality setting rather than accepting theirs, your page loads faster if you are hosting it, and you find out now rather than later whether the animation survives the conversion — which it does.
A GIF autoplays, loops and has no controls, and people reasonably expect a replacement to do the same. A video element does all of it, but only if you ask: `autoplay`, `loop`, `muted` and `playsinline`. The muted attribute is the one that catches people out — every browser refuses to autoplay video with sound, and a GIF replacement has no sound anyway, so there is nothing lost by declaring it.
Without `playsinline`, iOS opens the video full screen instead of playing it in place, which is the other common surprise. With all four, the result is indistinguishable from a GIF except that the page loads faster.
The colours were already reduced. A GIF holds at most 256 per frame, and whatever banding that caused is baked into the frames the encoder receives. The MP4 stores them faithfully and does not add a palette of its own, so the animation does not get worse — but it does not get back what the GIF discarded when it was made.
If you have the original video that the GIF was cut from, converting that directly will always look better than converting the GIF. This page is for the common case where the GIF is all you have.
| GIF | MP4 | |
|---|---|---|
| Full name | Graphics Interchange Format | MPEG-4 Video |
| File extension | .gif | .mp4 |
| Media type | image/gif | video/mp4 |
| Compression | Lossless — nothing is discarded | Lossy — file size is bought with quality |