How to Convert Video to GIF: Clip, Frame Rate, Size, Colors
Turning the best moment of a video into an auto-looping GIF is easy to do and easy to ruin. The craft lives in the clip choice and the parameters: a tight 2-6 seconds, sensible frame rate and width, and the result stays small and smooth.
Pick the clip first: GIFs live on 2-6 seconds
GIF has no inter-frame compression — every frame is stored in full, so duration drives file size. Working ranges: 2-4 seconds for stickers, 4-6 seconds for tutorials. Anything past 8 seconds almost certainly lands over 5MB and gets crushed by chat apps.
The best loops close their own gap: a complete nod, a click, a ball leaving the ground and landing again. Hard cuts between first and last frame read as a glitch.
Cut a clean segment with the trimmer before converting. Range cropping during conversion is a convenience, not a substitute for a clean clip.
Frame rate: 10-15fps is plenty
GIF jank usually comes from crushed colors, not low frame rate. 12fps is the classic sticker spec; 15fps reads smooth for demos. Going to 24fps nearly doubles the size for a difference nobody sees in a chat window.
Only push higher for content where motion continuity is the message (dance breakdowns) or large on-page playback. Source at 30 or 60fps? The GIF fps setting resamples it — just pick your target.
Size and colors: 360-480px wide, 128-256 colors
GIFs scale by width. 360px is plenty for chat; 480px when menus and buttons must stay legible. Wider costs far more bytes than it buys clarity.
Color count is the second lever. Simple UI or icon content survives 128 colors with roughly a third saved; faces and scenery need the full 256 or skin turns blotchy.
These settings interlock. When the file is still too big, shortening the clip by one second beats turning every knob down a notch.
Stickers and tutorials optimize for different things
Stickers: 2-4s, 12fps, 360px, 256 colors, under 2MB. Loop seamlessly or die.
Tutorials: 4-6s, 15fps, 480px, 256 colors, keep menu paths legible. If oversized, drop to 12fps then shrink to 400px — never touch the color count on screenshots.
Check the loop in the destination app. Some players pause on the first frame; that is player behavior, not a broken file.