creatorvalet

Convert GIF to MP4 without changing the timing

Same animation, same speed, a fraction of the bytes — encoded in this tab by the same H.264 encoder your browser uses for video calls.

Runs in your browser0 bytes uploaded

Drop a GIF here

or paste Ctrl+V

Nothing is uploaded. Your browser's own H.264 encoder does the work in this tab.

Why GIF to MP4 is nearly always the better trade

An animated GIF has no idea that one frame resembles the one before it. Every frame is a fresh picture, drawn from a table of at most 256 colors, packed with a compressor designed in 1987 for logos and line art. H.264 was built for the opposite job: it looks at what moved, describes only that, and predicts the rest. Handing the same twelve seconds of footage to each of them is not a close contest. A five megabyte GIF routinely leaves here at two hundred kilobytes, looking better than it went in, because the banding and the dithering noise that the palette forced on it are gone too.

The catch is not quality, it is behavior. GIF plays automatically, repeats forever and drops into any box that accepts an image. Video does none of those things without being asked. Everything below is about asking properly — and about the handful of things in a GIF that have no direct translation into video at all, each of which this page shows you rather than deciding quietly on your behalf.

Each frame carries its own delay

This is the detail that separates a conversion you can use from one you throw away. A GIF does not have a frame rate. It has a delay stored beside every individual frame, measured in hundredths of a second, and animators use that freely: eight quick frames, then a long hold on the punchline, then eight more. A converter that assumes a single frame rate has to average all of that away, and the result is an animation whose pauses have vanished and whose fast parts crawl.

Here each frame is written with the exact duration it had, into the timing table inside the MP4 that exists for precisely this purpose. The receipt states the running time so you can check it against the original before you download anything.

There is one place where the honest answer is not the literal one. A frame may ask for a delay of zero, or of a single hundredth of a second, and no browser on earth obeys that — every one of them plays such frames at a tenth of a second instead, a compatibility decision from the Netscape era that is now permanent. Copying the raw number into the video would produce a clip that races through sections the GIF played at a walking pace. So those frames are written at a tenth of a second, matching what you actually watched. When a file contains any, the tool says how many and offers you the literal reading instead.

Transparency, odd sizes, and the loop

Three things in a GIF do not survive the crossing, and all three are visible decisions rather than silent ones.

See-through pixels. H.264 has no alpha channel. If your GIF has transparent areas, something must sit beneath them, permanently, baked into the picture. White suits most documents, black suits most video players, and a color picker is there for the person whose page is neither. The choice only appears when the file actually contains transparency, because on an opaque animation it would change nothing.

Odd dimensions. Video encoders store color at half resolution horizontally and vertically, so a width or height that is not even has nowhere to go — ask an encoder for 301 pixels and it refuses outright. A frame like that is widened by a single column, which repeats the edge rather than introducing a stripe of background, and no original pixel is resampled to achieve it. The panel shows you the coded size before you start.

The endless repeat. Looping is written into the GIF file itself. MP4 has no equivalent field, so the instruction has to live in whatever plays the clip. On a web page that is four attributes on a video element, and the two that look decorative are the load-bearing ones: without muted no browser will start playback unprompted, and without playsinline an iPhone hijacks the clip into fullscreen. The finished tag is handed to you on the receipt with a copy button, because it is the step every free converter leaves you to discover on your own. And since a GIF has never carried sound, there is no audio track in the result — that is not an omission, it is arithmetic.

Your browser is already a video encoder

Nothing is downloaded to make this work and no file is sent anywhere. The H.264 encoder used here is the one your browser ships for video calls, reached through WebCodecs, running on the same silicon that handles your camera. What this site adds is the container: the box structure that tells a player where each frame lives, how long it lasts and which ones it may seek to. That part is written here, byte by byte, with the index deliberately placed ahead of the picture data so the file starts playing before it has finished downloading.

The practical consequence is speed and privacy at the same time. A clip that a web service would queue, upload, transcode and hand back over a minute is finished here in a few seconds, and the material never left the machine it was on. That matters more than it sounds for this particular format, because an enormous share of GIFs are screen recordings of software, and a screen recording tends to contain whatever else was open at the time.

When to reach for something else

If you need the output to stay a GIF — because the destination only accepts images, or because it has to animate inside an email — then converting is the wrong move andcompressing the GIF to a target size is the right one. That tool spends colors, frames and resolution in that order and tells you which levers it had to pull.

This one does not crop, trim, resize, add captions or change the speed. It does not re-time anything, and it will not silently drop a frame to make a number look better. It converts, honestly, and shows you every place where the two formats disagree about what is possible.

Questions

Can I turn a GIF into an MP4?

Yes, and it is usually the right thing to do. A GIF stores whole frames as palette indexes with no idea that one frame resembles the next; H.264 stores the difference and predicts motion. The same animation as MP4 is routinely ten to a hundred times smaller with no visible loss. What you give up is the automatic loop and the ability to drop the file into places that only accept images.

Are GIFs MP4 files?

No. They are unrelated formats that happen to both show moving pictures. GIF is an image format from 1987 that gained animation as an afterthought, capped at 256 colors per frame. MP4 is a container from 2001 that holds compressed video and audio tracks. Many sites — Giphy, Imgur, Reddit — quietly serve MP4 to your browser while still calling the result a GIF, which is where the confusion comes from.

Does the animation still play at the same speed?

It does, and that is the part most converters get wrong. A GIF carries a separate delay for every single frame, while a naive conversion assumes one fixed frame rate and averages them. Here each frame is written with its own duration, so a clip that pauses on its last frame still pauses. Frames marked with a delay of 0 or 1/100 s are played at 1/10 s, which is exactly what every browser does with them.

Is there a free MP4 converter that does not upload my file?

This one. The GIF is decoded here, the frames are handed to the H.264 encoder that is already built into your browser for video calls, and the MP4 container is assembled in this tab. Nothing is sent anywhere, there is no queue, and there is no size limit beyond what your own machine will hold.

Why does my MP4 not loop like the GIF did?

Because looping is a property of the GIF file and not of MP4. An MP4 has no equivalent flag — the loop lives in whatever plays it. On a web page you get it back by putting loop, muted, autoplay and playsinline on the video element, and the last two matter more than they look: without muted no browser will start playback on its own, and without playsinline iOS takes the clip fullscreen. The receipt hands you the finished tag after the conversion.