Convert GIF to MP4
GIF is a 30-year-old image format that got adopted for short looping video because it worked in every browser back when nothing else did. It has one huge weakness: every frame gets stored as a full standalone image, which makes the files enormous - a 5-second HD animated GIF can easily be 10 MB. MP4 uses much smarter compression that only stores what changes between frames, so the same clip typically becomes 5-10x smaller as an MP4 and plays back more smoothly. Twitter, Reddit, Discord, and most modern platforms even auto-convert GIF uploads to MP4 behind the scenes for exactly this reason. Wave does the conversion locally in your browser, so the source GIF stays on your device.
What actually changes
GIF stores animation as a sequence of full frames with LZW compression. It has no concept of temporal compression (predicting one frame from the next), which is why colourful animations balloon into tens of megabytes. MP4 with a modern video codec throws away almost all of that redundancy without visible loss.
Wave decodes each GIF frame and re-encodes to H.264 through the browser's WebCodecs encoder when available (Chrome, Edge, Safari 16.4+, most Chromium-based mobile browsers), falling back to LGPL MPEG-4 Part 2 otherwise. Frame rate is 30 fps by default - enough for smooth motion loops without inflating the file. Because there's no audio track to worry about, the MP4 is video-only. Twitter, Bluesky, iMessage, Slack, and Discord all accept these MP4s and treat them like GIFs (auto-play, muted, looping).
GIF launched in 1987 as a still-image format for CompuServe and got animation support in 1989 with GIF89a. It was never designed to compete with video codecs - the palette is capped at 256 colours per frame, the compression assumes each frame is independent, and there is no notion of predictive encoding. A 5-second animated GIF at 640x360 30 fps typically lands around 8-12 MB. The same clip re-encoded to H.264 at visually-transparent quality lands around 400-800 KB. That is a 10-20x reduction with better colour depth.
Twitter converts GIFs to MP4 on upload for exactly this reason - the platform serves an MP4 that looks and behaves like an animated GIF (auto-play, muted, looping) at a fraction of the bandwidth. Doing the conversion yourself before upload skips a lossy platform re-encode and gives you a file you can also drop into email, SMS via iMessage, or a Slack channel without hitting size limits.
Three steps.
-
01
Step 1
Drop the .gif file onto the card.
-
02
Step 2
Wave shows Re-encode needed - GIF always takes this path.
-
03
Step 3
Convert. The MP4 will be much smaller than the GIF you started with.
Answers, specifically.
How much smaller is an MP4 than the GIF?
A typical 5-second animation drops from 8 MB as a GIF to well under 1 MB as an MP4, with better colour and smoother motion.
Will the MP4 loop like the GIF?
On social platforms that render video like GIFs (Twitter, iMessage, Discord), yes - the client handles the loop. In a video player, looping depends on the player's setting.
Do transparency effects survive?
No. MP4 has no widely-supported alpha channel. Transparent GIF pixels render against a black background in the MP4.
What frame rate does the MP4 use?
Wave targets 30 fps, which is enough for smooth motion loops without inflating the file. GIFs above 30 fps get resampled down.
Can I convert a screen recording that ended up as a GIF?
Yes. In fact, this is the highest-value use case - screen-record GIFs of demos are notoriously bloated, and going to MP4 cuts the size hugely.
What is the typical file-size reduction?
Between 5x and 20x, depending on the GIF's colour complexity and length. A 10 MB animated GIF typically becomes an MP4 in the 500 KB to 2 MB range, with sharper motion and full colour depth (H.264 is not palette-limited).
Does the loop count carry over?
GIFs encode a loop count that most players honour (infinite by default). MP4 has no equivalent metadata field, so looping becomes the player's choice. On social platforms (Twitter, iMessage, Slack, Discord), inline video players loop automatically for short clips. In a dedicated video player, loop is a toggle.
Can I add a caption or watermark?
Not in Wave. For overlays, the simplest path is to burn them into the source before conversion using a GIF editor or a video-editor pass. If you already have a caption baked into the GIF, it survives the conversion exactly - overlays are pixels.