Video to GIF Converter Online Free
Turn a short video clip into an animated GIF. Set the framerate, the width, and the trim points so the output stays small.
Uploaded to our server over TLS·auto-deleted in 10 minutes.
Learn moreOptional. Leave empty for start of video.
Optional. Leave empty for end of video.
Files are processed on our secure server and automatically deleted after 10 minutes. Max file size: 1.00 GB.
About this tool
This tool converts a short video clip into an animated GIF. Drop in an MP4, WebM, MOV, AVI, or MKV, pick a start and end time, set a framerate and output width, then convert. GIF encoding genuinely needs ffmpeg with a proper two-pass palette-generation step; anything else produces banded, dithery output that looks like it was made in 1998. So the file uploads over HTTPS to a small server in Germany (Hetzner) where ffmpeg does the work. The upload and the output GIF are both auto-deleted from the server's disk within 10 minutes of conversion. No account, no email gate, no watermark on the output, no logging of file contents.
How to video to gif converter online free
-
Upload your video
MP4, WebM, MOV, AVI, or MKV all work. The three usual sources are phone recordings, desktop screen captures (QuickTime, OBS, Game Bar), and footage out of editing software. The file uploads over HTTPS to our server. If your file is in a format not listed, transcode it to MP4 first using HandBrake or VLC.
-
Set start and end times
Trim to the moment you actually want. Keep clips under about 15 seconds or the GIF balloons fast. GIF file size grows roughly linearly with duration at fixed FPS and dimensions, so a 30-second clip is roughly twice the size of a 15-second one with everything else equal. Trim aggressively. Most "demo GIFs" only need 5 to 8 seconds.
-
Set framerate and width
10 FPS at 480 px wide is the sane default for messaging and embedded README demos. 15 FPS at 600 px if motion smoothness matters more than the file size, useful for animation showcases or fast-paced gameplay. 8 FPS at 360 px if you are trying to squeeze under a 5 MB upload limit. Each lever has a real effect: framerate roughly linearly, dimensions roughly quadratically.
-
Convert and download
ffmpeg runs a two-pass palettegen and paletteuse so the colours don't look like a 1996 GeoCities page. The GIF comes back to your browser as a download. Both the input video and the GIF output are deleted from the server automatically within 10 minutes. There is no archive, no history, no copy retained on the disk.
Why use this tool
GIF is a terrible format for almost everything except one specific job: silent, autoplaying, looping clips that need to embed in places where actual video does not. That niche has not gone away despite MP4 being technically superior. Slack auto-plays GIFs inline in messages but treats MP4 attachments as files you have to click to download. GitHub renders GIFs inline in pull request comments, issues, and README files but won't render an embedded MP4 in the same places. Notion, Discord screenshots, Twitter quote-replies, README demos for CLI tools, bug-report attachments on Linear — all of those still want a GIF. The reason this tool exists is that every web service for this either crops your clip to a 5-second hard cap, slaps a watermark on the output, or makes a 50 MB file for a 6-second clip because the defaults are wrong. Here you get explicit control over the three levers that actually matter (framerate, width, and duration) so you can land under whatever size budget your destination has. Slack uploads cap at 8 MB unless you're on a paid plan, GitHub comments cap at 10 MB, Discord at 8 MB unless you have Nitro. Pick 10 FPS at 480 px wide for a 6-second clip and you will usually land under 3 MB with no awful dithering artefacts.
Features
Precise trimming controls
Pick the exact start and end seconds for the segment you want. Useful when only one specific moment of a 30-second screen recording matters and you don't want to dump the whole thing on a Slack channel. Trimming server-side before encoding means the data fed to the GIF encoder is already just the segment you care about, which keeps the output size sensible and the conversion fast. The trim happens via ffmpeg's seek-then-input pattern so it's precise to the frame.
Framerate control with honest trade-offs
Choose between 5 and 30 FPS for the output. Lower FPS means smaller file size and choppier motion. Higher FPS means smoother motion and a much bigger file. For most UI demos and short reaction clips, 10 to 15 FPS is invisible in quality terms but cuts the file size roughly in half versus 24 FPS. There is a real trade-off here. I won't pretend higher is always better. For fast hand-drawn animation or fast-paced gameplay, 24 to 30 FPS does look noticeably better; for slow UI demos, 10 FPS is fine.
Output width control
Set the output width in pixels. Height scales automatically to preserve the original aspect ratio so you don't get squashed output. GIF file size scales roughly with the square of dimensions, so going from 720 px wide to 480 px wide is around a 55% size cut for the same clip at the same FPS and duration. Most messaging apps display GIFs at 400 to 500 px anyway because of their UI constraints, so going wider just wastes both upload time on your end and download time on the recipient's.
Proper palette generation
GIF only supports 256 colours per frame, which is what makes optimisation matter so much. ffmpeg runs a palettegen pass that samples the dominant colours of your clip, then a paletteuse pass with Floyd-Steinberg dithering so the dominant colours of your specific clip get the encoding budget. Lazier converters skip the palette pass entirely and your output looks like rainbow noise on gradients. This is the main reason ffmpeg can't live in the browser as WASM. The palette pass needs the full clip's frames in memory and the algorithm doesn't fit comfortably in a 50 MB WASM budget.
Privacy & security
For this tool your file is uploaded to our server over HTTPS, transformed, and returned to you. The uploaded file and all derived outputs are automatically deleted within 10 minutes — there is no long-term storage and we do not retain copies. We do not inspect file contents, run analytics on them, or share them with third parties. If a stronger privacy guarantee matters for your workflow, prefer one of our local-only tools where the file never leaves your browser.