Video to GIF converter
Turn a clip from any video into a high-quality GIF with a custom colour palette. Trim it, set the size and smoothness, and see the estimated file size first. Your video never leaves your device.
4 steps, no signup
- 01
Choose a video
MP4, MOV, WebM or most other formats, from your phone or computer. It stays on your device.
- 02
Pick the moment
Play the video, then set the start and length of the clip, up to 30 seconds.
- 03
Set size and smoothness
Pick a width and frame rate (a video narrower than the width you pick is never enlarged). The estimate shows roughly how big the GIF will be before you make it.
- 04
Make and download
Press Make GIF. It is converted in your browser with an optimised colour palette, then saved.
Short answer: choose a video, set the start time and length (up to 30 seconds), pick a width and frame rate, and press Make GIF. FFmpeg runs in your browser, builds a colour palette from your clip, and gives you a GIF to download. The size estimate updates before you convert. Nothing is uploaded and there is no watermark.
What this video to GIF converter does
GIFs are still the easiest way to drop a looping moment into a chat, a README, an email or a slide. The video to GIF converter takes any video file, lets you pick the exact clip, and turns it into a GIF entirely in your browser. There's no upload and no watermark, and it uses the two-pass palette method that makes GIFs look noticeably cleaner than quick converters manage.
How it keeps GIFs looking good
A GIF can only hold 256 colours. Most converters squeeze every clip into the same generic palette, which causes banding in skies and blotchy skin tones. This tool runs FFmpeg's two-step method:
- palettegen scans your clip and builds the best 256 colours for that footage;
- paletteuse maps every frame to that palette, with dithering to smooth gradients.
It's the same approach people use with FFmpeg on the command line, compiled to run in the page (ffmpeg.wasm).
Choosing size and frame rate
| Use | Width | Frame rate | Length |
|---|---|---|---|
| Chat reaction (Slack, Discord, WhatsApp) | 320–480 px | 10–12 fps | 2–5 s |
| Product demo in a README or docs | 640–800 px | 12–15 fps | 5–15 s |
| 480–600 px | 8–10 fps | Under 5 s; aim for under 1 MB | |
| Slides | 640–800 px | 15 fps | Any, within 30 s |
Size grows roughly with width², frame rate and length, so halving the width cuts the file to about a quarter. The estimate above the button updates as you change settings; it's a rough guide, since busy footage compresses worse than flat screen recordings.
A worked example
Say you have a 1920×1080 screen recording and want a 4-second GIF for a Slack thread. Leave the defaults: 480 px wide, 12 fps, 4 seconds. The tool scales the clip to 480×270 and makes 48 frames, and the estimate reads about 2.1 MB. Push the width to 800 px and the estimate jumps to roughly 5.8 MB, because the pixel count per frame nearly triples. Drop to 10 fps at 480 px instead and it falls to about 1.7 MB. Screen recordings with flat colour usually come in under the estimate; camera footage with grain or motion can go over.
GIF or video?
If the destination plays video (most social networks, websites and modern chat apps), an MP4 will be a fraction of the size at better quality. Many platforms convert uploaded GIFs to video anyway. Use GIF where autoplaying, silent, looping images are the only option: email, GitHub READMEs, some docs tools and older chat apps.
Troubleshooting
- "That isn't a video file." The file you chose isn't a video. Pick an MP4, MOV, WebM, MKV, AVI or M4V.
- "The start time is after the end of the video." Lower the start time, or press Use current time while the preview is paused where you want to begin.
- "Conversion failed: no frames were produced." The start time falls outside the video, or the file uses a codec FFmpeg couldn't read. Check the start, or re-export the video as MP4.
- "Done, but it's over 10 MB." The GIF was made, but it is large for chat apps. Lower the width or frame rate and convert again.
- "Loading the converter" takes a while. The FFmpeg engine is about 30 MB and downloads once per visit.
- The GIF is huge. Lower the width first, then frame rate, then length.
- The tab crashed on a phone. Very large 4K source files can exhaust memory. Try a shorter source or a computer.
- The video won't preview. Some formats (like HEVC on certain browsers) don't play in the preview but can still convert; set the start time by hand.
Related tools
Need the sound instead of a loop? The MP4 to MP3 converter extracts the audio from the same file. When an MP4 would serve better than a GIF, the video compressor makes it small enough to send. For source clips, the Twitch clip downloader and Reddit video downloader save public videos as MP4.
Privacy
Your video is read and converted inside your browser. It is never uploaded. The only download is the FFmpeg engine itself, from the jsDelivr CDN.
Last checked and updated: . Everything on this page runs in your browser; nothing you enter is sent anywhere.