AntiUpload// browser-resident file tools
ENESFRPTDE
SESSION · 
← Back to home

Two-pass palette · Discord-friendly defaults · No watermark

Video to GIF

Turn any video into an animated GIF — palette-quantised for sharp colours, fps and width presets for social-media-friendly output.

100% freeNo file size limitNo watermarkNo sign-up
  1. 1Pick file
  2. 2Configure
  3. 3Download
Tip: GIFs get big fast. Use Trim to a clip range below to grab just the few seconds you need — 15 fps × 480 px over a 3–6 s clip is the sweet spot for chat-friendly files.
  • Files never leave your browser — processed entirely on your device
  • No upload, no queue, no waiting for a worker to free up
  • No file-size cap from us — limit is your device's RAM

About Video to GIF

AntiUpload's Video to GIF converter turns video files into animated GIFs that are ready for Discord, Slack, Reddit, Twitter, and any other platform that accepts GIF uploads. The pipeline is a careful two-pass palette quantisation: pass 1 scans every frame of the trimmed source and computes the 256-colour palette that best represents the video's actual content; pass 2 re-renders each frame against that palette using Floyd-Steinberg dithering (the modern best-in-class dither algorithm for moving content). The result is GIFs that look noticeably cleaner than the one-pass auto-palette output most online converters produce — skin tones don't band, gradients stay smooth, and motion edges keep their colour fidelity.

Most free GIF converters (ezgif, Giphy's converter, CloudConvert) cap input at 50-100 MB and watermark the output. Our tool runs entirely in your browser via FFmpeg compiled to WebAssembly — no upload, no file-size limit beyond your device's RAM, no watermark. The five output controls (fps, width, dither algorithm, palette stats mode, source crop) are the same knobs a professional GIF encoder exposes; the defaults (15 fps × 480 width × Floyd-Steinberg × full stats) work for 90% of inputs but you can tune them when the default doesn't fit (e.g., screen recordings benefit from stats_mode=diff which weighs changed pixels more heavily).

GIF is a notoriously inefficient format — a 10-second clip at 15 fps × 480 px typically lands at 2-5 MB. For larger sources, drop the fps to 10 (acceptable for slow content) or the width to 320 (Discord's preview size). 24 fps × 640 px produces "smooth and sharp" GIFs at the cost of 3-10 MB files that won't fit Discord's free-tier upload cap. The hint under the controls explains the size tradeoffs; we don't auto-clamp because some users need the higher quality and know what they're trading.

How it works

  1. Drop your videoAccepts MP4, MOV, WebM, MKV, AVI, M4V, FLV. Best results come from short clips (< 30 seconds) — GIF gets huge fast. For longer source, trim first with our Video Trimmer.
  2. Pick fps and widthDefaults: 15 fps × 480 px (Discord-friendly sweet spot). Drop to 10 fps for slow content, bump to 24 fps for smoother motion. Width controls output dimensions — height auto-derives from your source's aspect ratio.
  3. Optionally tune dither and paletteFloyd-Steinberg (default) is the best-quality general-purpose dither. Bayer for the retro pattern look. Stats Mode: "full" for live-action / movies, "diff" for screen recordings where most of the frame is static.
  4. Click Convert to GIFTwo-pass encode: pass 1 scans for palette (40% of progress), pass 2 encodes against it (remaining 60%). A 10-second 1080p source typically completes in 15-30 seconds.
  5. DownloadOutput is a true animated GIF (not a video pretending to be a GIF). Plays in every chat client, every browser, every email client supporting GIF — universal.

When to use Video to GIF

Discord / Slack reaction GIFs from a phone recording
Capture a 5-second moment from a video, convert at 15 fps × 320 width — lands under Discord's 25 MB free upload cap with plenty of room. Discord auto-loops the GIF in chat.
Tutorial demo GIFs from a screen recording
Screen recordings (Loom, OBS, native macOS / Windows recorders) often want a GIF version for README files / bug reports / Twitter threads. Pick stats_mode=diff for sharper text on the static UI parts.
Twitter / Bluesky video posts that fall back to GIF
Some social platforms still cap video uploads at low resolutions but allow much larger GIFs. Converting your highlight clip to GIF can produce a higher-quality result on those platforms despite the size penalty.
Bug-report reproduction recordings for GitHub issues
GitHub Markdown embeds GIFs inline but doesn't embed video. A 30-second screen capture of a bug repro converted to GIF lets maintainers see the issue without clicking a YouTube link.
Email-friendly animated content for marketing newsletters
Most email clients block embedded video but show GIFs natively. Convert the hero clip from a video ad into a 5-second GIF loop for the email header — drives engagement without a click-through.

Frequently asked questions

How to convert video to GIF without watermark for free?
Drop your video into our Video to GIF converter. No watermark on the output — ever. Compare to Ezgif (watermarks > 35 MB inputs), Giphy (limits + watermark on free), Adobe Express (paywall after 30 seconds source). Ours has neither because GIF encoding happens in your browser, not on our server.
Why does my GIF look blocky / banded?
Two likely causes: (1) you picked Bayer dither — switch to Floyd-Steinberg, which is sharper on most content. (2) Your source has smooth gradients (skies, faces, gradients) that the 256-colour GIF palette can't fully represent. There's no fix for this beyond accepting the limit or staying with video instead of GIF. GIF is fundamentally a 256-colour format; modern video has millions of colours.
Why is my GIF so big? My video was only 5 MB.
GIF is much less efficient than video codecs (~10-30× larger at similar visual quality). A 5 MB MP4 at 10 seconds becomes ~3 MB as a 15 fps × 480 px GIF. To shrink: drop fps to 10, width to 320, or trim the clip shorter. If you need a small file, MP4 is the right choice — GIF is for chat / forum compatibility, not size.
What's the best fps for a Discord / Slack GIF?
15 fps is the sweet spot — animation looks smooth to the eye but file size stays manageable. 10 fps is fine for slow content (someone smiling, slow zoom). 20-24 fps produces sharper motion (fast hands, jump cuts) but doubles file size vs 15 fps for marginal perceived gain.
How do I get a GIF under 8 MB for old chat clients?
Drop fps to 10, width to 320, and trim to < 8 seconds with our Video Trimmer before converting. The result usually lands at 1-3 MB. Bayer dither also produces slightly smaller files than Floyd-Steinberg at the cost of more visible pattern texture.
Does this work for high-FPS sources (60 fps gameplay)?
Yes — the converter resamples from any source fps down to your chosen output fps. A 60 fps gameplay clip at 15 fps GIF output drops 75% of frames, which usually looks fine for the kind of motion that fits a GIF. For motion-critical content (esports clips, fast cuts) try 24 fps output and accept the larger file.
Can I make a transparent GIF?
Not currently — output is always opaque. Animated PNG (APNG) or animated WebP would be the right format for transparent animations; both have better browser support than 5 years ago but worse compatibility on chat clients than GIF.

Related tools