All tools / MP4 to GIF
MP4 to GIF.
Convert MP4 to GIF, with the file size on screen the whole time.
How it works.
Turn a few seconds into a GIF that loops.
Step 1
Drag your video in
Or click to choose a file. It stays on your device.
Step 2
Set the range and the look
Drag the two handles, then set the size and the look.
Step 3
Save the GIF
One click, and it downloads.
In detail
An MP4 becomes a GIF by throwing away almost everything that makes an MP4 small: the motion compensation, the 24-bit colour, and the audio. What comes out is bigger, and how much bigger depends on your footage in ways no calculator can guess. So this converts your MP4 in the browser and shows the resulting size live while you set the frame rate, the width, the colour count, and the dithering, with an animated sample of the real output beside the number. Mark the seconds you want, watch the number, and export when it fits where you are sending it.
What it gives you.
The size, before you export
The estimate is not a formula. It encodes two dozen real frames spread across your range with the exact settings you picked, measures them, and scales the per-frame cost up. That makes it accurate within a few percent on real footage, and the export tells you the delta so you can judge it yourself.
See the dithering, not a description of it
Next to the number is a live animated GIF of those sample frames. Cut to 32 colours and you watch the banding arrive. Switch to Floyd-Steinberg and you watch it break up into grain. No other tool shows you this before the export.
Everything that moves the number
Frame rate from 10 to 24, width from 320 to your source, 256 down to 16 colours, three dithering modes, one global palette or one per frame, loop forever or once, and 1x to 2x speed. Chips above what your source can do are disabled with the reason.
Platform limits, named
Discord 10 MB, GitHub 10 MB, Twitter 15 MB, Reddit 100 MB, each reading fits or over against the live number. No guessing, and no discovering the limit after the upload fails.
Runs in your browser
The decode, the quantising, and the GIF encoder all run here, in a worker, on your machine. A file you cannot legally hand to a stranger is a file you can still turn into a GIF.
No watermark
Not on a free tier, because there is no other tier. GIFs are for posting, and a stamped corner defeats the point.
Straight answers.
How do I convert an MP4 to a GIF without it being huge?
Change three things, in this order: shorten the range, drop the width, and cut the colours. Length and pixel count are multipliers on every frame, so two seconds at 320 px is a quarter the size of four seconds at 480 px before anything else is touched. Then take the palette down from 256 to 64 or 32, which on dithered footage is usually a bigger saving than it costs in looks. Frame rate is the last lever, because dropping below 12 starts to look like a slideshow. The readout here updates on every one of those, so you can find the combination that fits instead of exporting four times to guess.
Why are GIF file sizes so unpredictable?
Because GIF compresses each frame by finding runs of the same palette index, and nothing else. It has no motion compensation, so a GIF cannot say this frame is nearly the last one; every frame pays close to full price. Flat graphics compress enormously and camera footage barely compresses at all, so grain, a handheld wobble, and a busy background all multiply the size while the duration and resolution stay the same. Dithering makes it worse, on purpose, because it replaces flat areas with texture. Two clips of the same length and size can differ tenfold, which is exactly why this tool measures rather than predicts.
Which dithering should I pick?
Ordered, unless you have a reason. It lays a fixed 4x4 crosshatch over the picture, which is stable from frame to frame, so it does not crawl or shimmer while the animation loops, and it compresses better than error diffusion. Choose diffusion (Floyd-Steinberg) for a single-subject clip with smooth gradients, like a sunset or a face against a plain wall, where the grain looks better than the crosshatch and the crawling does not show. Choose none only for flat graphics, screen recordings of text, or cartoons, where there is nothing to dither and the bands are actually the right answer: it is also the smallest file of the three by a wide margin.
Why only 256 colours?
Because the format was finalised in 1989 and stores one byte per pixel pointing into a colour table of at most 256 entries. There is no 24-bit GIF. That is why quantising matters: your clip has thousands of colours and something has to choose which 256 survive. A global palette picks one set for the whole animation, which keeps the file smaller and stops colours shifting between frames; a per-frame palette gives each frame its own 256, which looks better on a clip that changes scene and costs real bytes. Dropping to 64 or 32 colours is the single most effective way to shrink a GIF, and on footage with dithering on it often costs less than it sounds like it should.
What are the actual platform size limits?
Reddit takes GIFs up to 100 MB, which is by far the most generous. Twitter caps GIF uploads at 15 MB. Discord stops at 10 MB on the free tier, 50 MB with Nitro Basic and 500 MB with Nitro. GitHub allows 10 MB for images and GIFs in issues and pull requests. Slack allows up to 1 GB per file, so it is effectively never the constraint. The tags under the size readout check your number against the four that actually bite, and they update as you change settings.
When is a looping MP4 the better choice?
Most of the time, honestly, if the destination supports it. An MP4 with H.264 inside is five to twenty times smaller than the same clip as a GIF, carries real colour instead of 256 entries, and every social platform autoplays and loops it. Use a GIF when the destination will not take video: a GitHub issue or pull request comment, a README, an email, some wikis and documentation systems, or a chat where you want the thing to move without a click. That is a real and common set of places, which is why this tool exists, but if you are posting to Twitter or Discord and just want a short loop, upload the MP4 and let the platform loop it.
Is there a length limit?
Not a hard one in seconds, but there is one in frames: 1200, which is 100 seconds at 12 frames per second or 50 at 24. Past that the encode takes long enough to feel broken and the file is too big for anywhere. In practice a GIF stops being a good idea somewhere around ten seconds, and the size readout will tell you that faster than any rule could.
Other tools
- 01Video EditorComing soonPut your clips in a row, cut them, and add titles.
- 02Slow MotionSlow a moment right down so you can see it properly.
- 03Speed Up VideoSpeed a clip up so it gets to the point faster.
- 04AI SubtitlesComing soonWrite out what is said and put it on screen as subtitles.
- 05Video CompressorShrink a file until it fits Discord, WhatsApp, or email.
- 06Video ConverterTurn a file that will not open into an MP4 that plays anywhere.
- 07Audio ExtractorSave just the sound, as an MP3, M4A, or WAV.
- 08Trim VideoCut the dead air off the start and the end.
- 10Crop and ResizeReshape a wide video into a square post or a tall reel.
- 11Mute VideoTake the sound out and keep the picture.
- 12Rotate and FlipTurn a video that came out sideways the right way up.
- 13Loop VideoRepeat a short clip over and over, or bounce it back and forth.
- 14Merge VideosJoin several clips together, one after another.
- 15Reverse VideoPlay a clip backwards.
- 16Split VideoCut one long video into shorter pieces you can post.
- 17Frame ExtractorSave a single moment as a picture you can use anywhere.
- 18Volume & LevelsMake a video louder or quieter, and fade the ends.
- 19WatermarkPut your logo or your name in the corner of your clips.
- 20Video InspectorFind out what a file really is, and where it will be accepted.
- 21Screen RecorderRecord what is on your screen, with your camera in the corner.