Initializing... drag & drop files here
Supports: MP4, M4V
To turn an MP4 into a GIF, upload the video to our servers — trimming it first with the Video Cutter if you only need a moment — then set a frame rate (anywhere from 1 to 50 FPS) and a quality: File Compression starts on a High Quality preset, and its Custom mode unlocks a width control and an Image quality (%) slider if you'd rather tune the file by hand. Need it under a hard cap? Open File Compression, switch to Max file size, and pick Discord (10 MB max) from the Size limit dropdown — you get a GIF that fits Discord's limit in one pass, no convert-check-shrink loop. Click Convert and download — no sign-up, no watermark.
Real result: a 3-5 second clip becomes a looping GIF that auto-plays everywhere — chat, email, and docs — with no player needed. Keep clips short, since a GIF is usually larger than the source MP4 (GIF caps at 256 colors per frame).
Most converters make you guess: pick settings, convert, check the size, shrink, repeat. Skip that loop — open File Compression and switch to Max file size. One Size limit dropdown holds every way to cap the output:
A note under the dropdown translates your pick per file — the estimated GIF size against the cap — and warns you before you convert if the cap will cost visible quality. The converter then runs several encodes behind the scenes, downscaling just enough to land under your ceiling. If a cap is tight enough that hitting it exactly would wreck the GIF, the tool instead delivers the smallest good-looking version it can get and flags that clearly on the result card, rather than silently handing back a mangled file.
What a cap costs depends on the clip: at 480px and 12-15 FPS, up to about 6 seconds fits under 10 MB. Force a 15-second clip under 5 MB and the converter will shrink the width as far as it needs to — landing under your cap when that's realistic, or handing back the smallest clean version it can manage, clearly marked as best-effort, when it isn't. To keep your dimensions instead, shorten the clip (trim it with the Video Cutter before uploading) or drop the framerate before squeezing the size.
GIF quality is really two battles: color banding from the 256-color-per-frame ceiling, and choppy motion from a low frame rate. The quick lever is the Quality preset in File Compression (default High — raise it for gradient-heavy clips); for hands-on control, four knobs fix most of it, in order of visible impact (all but Framerate live under File Compression → Custom):
Budget honestly for the result: 720p carries 2.25x the pixels of 480p, and 25 FPS 2.5x the frames of 10 FPS — so a 5-second clip that lands at 2-5 MB with everyday settings can swell into the 15-25 MB range fully maxed out. If you need full color and a small file, that combination has a name — animated WebP: the same silent autoplay in chat, millions of colors, and often 5-10x smaller than GIF.
MP4 with H.264 is roughly 10-50x more space-efficient than GIF for the same clip, so why convert at all? Because GIF still wins anywhere autoplay-without-audio and zero-friction embedding matter — email, Slack, Discord, Reddit, GitHub README files, documentation sites, and chat apps that strip or mute uploaded video. A 480px 12 FPS GIF under 5 seconds plays inline everywhere; an MP4 of the same clip often gets converted to a static thumbnail or blocked entirely.
| Property | MP4 (H.264) | GIF | WebP (animated) | APNG |
|---|---|---|---|---|
| Typical file size for 5s 480p clip | 200-500 KB | 3-10 MB | 300 KB-1 MB | 1-3 MB |
| Color depth | Millions | 256 per frame | Millions | Millions |
| Audio | Yes | No | No | No |
| Max framerate (practical) | 60+ FPS | ~50 FPS (browser-limited) | 60+ FPS | 60+ FPS |
| Transparency | No (use ProRes/VP9) | 1-bit (binary) | Full 8-bit alpha | Full 8-bit alpha |
| Autoplay in email / GitHub README | No | Yes | Partial | Yes (where supported) |
| Browser support | Universal | Universal | Chrome, Firefox, Safari 14+, Edge | Chrome, Firefox, Safari, Edge |
| Use case | Width | FPS | Length | Target size |
|---|---|---|---|---|
| Twitter / X (mobile-safe) | 360-480px | 10-12 | ≤ 4s | ≤ 3.5 MB |
| Discord free tier (10 MB cap) | 480px | 12-15 | ≤ 6s | ≤ 10 MB |
| Slack message inline | 360-480px | 10-12 | ≤ 5s | ≤ 5 MB |
| GitHub README demo | 600-720px | 10-15 | 4-8s | ≤ 10 MB |
| Email signature / inline | 240-360px | 8-10 | ≤ 3s | ≤ 500 KB |
| Custom Slack emoji | 128px | 8-10 | ≤ 2s | ≤ 128 KB |
| Platform | Free / standard cap | Paid / boosted cap |
|---|---|---|
| Twitter / X | 15 MB desktop, 5 MB mobile (re-compressed above ~3.5 MB) | Same |
| Discord | 10 MB (lowered from 25 MB in 2024) | Nitro Basic 50 MB, Nitro 500 MB |
| Slack | 1 GB per file (workspace plan-dependent) | Same |
| 100 MB native upload | Same | |
| GitHub issues / README | 10 MB per file | Same |
Upload your MP4 to our servers — trimming it first with the Video Cutter if you only need a segment. Set the framerate to roughly 10-15 FPS, then control file size with the File Compression Quality preset — or switch it to Custom to drop the width to around 480px and lower Image quality (%) by hand. Click Convert and download your looping GIF — no sign-up and no watermark.
GIF predates modern video codecs by more than two decades. It uses LZW compression on a per-frame basis with a maximum 256-color palette per frame and no inter-frame motion compensation. H.264 in MP4 only encodes the differences between frames. For the same visible clip, a GIF is commonly 10-50x larger. To shrink the result, cut duration, drop the framerate to 10-12 FPS, and under File Compression → Custom reduce width to 480px or below and lower Image quality (%) to 70-80 — or simply set a Max file size cap and let the converter work it out.
10-15 FPS is the sweet spot. The GIF89a spec stores frame delay in 1/100-second increments, which means 25 FPS (4/100s) and 50 FPS (2/100s) are the highest evenly-representable rates; 60 FPS is mathematically impossible to express in the spec. Browsers historically clamped very short delays — Firefox and Chrome treat 0 or 1 hundredth-second delays as 10 hundredths (100 ms / 10 FPS), so anything faster than 50 FPS plays slower than intended.
Twitter accepts GIFs up to 15 MB on desktop and 5 MB on mobile, but the platform re-compresses anything over roughly 3.5 MB on mobile clients. For reliable playback, target ≤ 3.5 MB: a 480px-wide, 10-12 FPS GIF under 4 seconds usually fits. Twitter also auto-converts GIF uploads to MP4 internally for delivery, so over-optimizing past the cap rarely helps quality.
Discord lowered the free-tier upload cap from 25 MB to 10 MB in 2024. A 10 MB GIF will upload and play, but for free accounts, aim well below — 480px at 12 FPS for 5 seconds typically lands in the 2-5 MB range. Nitro Basic raises the cap to 50 MB and full Nitro to 500 MB.
GIF quantizes each frame to a maximum 256-color palette, while MP4 carries millions of colors per frame. Gradients, skin tones, and dark scenes show visible banding or posterization after quantization. Three mitigations: (1) keep the GIF small enough that banding is less noticeable, (2) pick scenes with limited color variety (UI demos, text, line art), or (3) consider animated WebP — same autoplay-in-chat behavior, full color, often 5-10x smaller.
Yes, but not on the conversion page itself — trimming lives in the dedicated Video Cutter (or Trim MP4). Cut out the segment you want there, download it, then convert that trimmed clip to GIF here.
No — each video you upload converts to its own separate GIF; there's no control on this page for stitching multiple clips into one animation. To get a single GIF out of several clips, join the source videos into one MP4 first (a video merger tool will do this), then convert that combined file here.
No — GIF has no audio support. If you need audio, convert to MP4 (with compression) or WebM instead. If your goal is silent autoplay in chat or email, that's exactly where GIF still wins over MP4.
GIF supports 1-bit (on/off) transparency — a pixel is either fully transparent or fully opaque, with no partial alpha. If your MP4 has a true alpha channel (rare; usually requires ProRes 4444 or VP9 with alpha), the converter maps it to GIF's binary transparency. For animations that need real anti-aliased transparency, APNG or animated WebP are better targets.
Width. File size scales roughly with the square of resolution: dropping from 720px to 480px cuts pixel count by 55%, and from 480px to 360px by another 44%. After width, the next biggest lever is duration (linear), then framerate. If you've already trimmed to ≤ 4 seconds and the file is still huge, also try Compress GIF for a second-pass optimization.