Free tool · runs in your browser

Video to GIF Converter

Drop in a video, trim to the moment you want, and export a clean looping GIF — choosing the frame rate and size so it stays small. It runs entirely in your browser, so the video never leaves your device.

How it works

Make a GIF in three steps

All in your browser — no upload, no account.

  1. 1

    Add your video

    Drop in an MP4, MOV, or WebM, or click to choose one. It loads instantly — nothing is uploaded.

  2. 2

    Trim & tune

    Set the start and length, then pick a frame rate and width. Shorter and smaller makes a lighter GIF.

  3. 3

    Create & download

    Hit Create GIF, watch the file size, and download a clean looping GIF.

What to expect

Rough guidance only — GIF size depends heavily on the clip’s length, size, and how much motion it has, so the tool always shows your real file size. As a starting point:

ClipSettingsTypical size
2–3s reaction320px · 10 fps~200–600 KB
3–5s clip480px · 12 fps~1–3 MB
5–8s clip640px · 15 fps~4–10 MB+
Need it tiny?320px · 8 fps, trimmedOften under 300 KB

Busy, fast-moving footage runs larger than a static shot at the same settings — motion is what GIFs compress worst.

Make a GIF without handing over your video

Most online GIF makers ask you to upload your video to their servers first. This one doesn’t — it runs a WebAssembly build of ffmpeg directly in your browser, so the file is read from your device, converted locally, and given back as a GIF you download. Nothing is uploaded, there’s no account, and the only network request is the one-time fetch of the conversion engine itself. For anything mildly sensitive — an unreleased product clip, a client deliverable, a screen recording — that difference matters.

Trim first, then tune the size

The single biggest lever on a GIF’s quality and file size is how much of the video you include. Set the start and duration so the GIF contains only the moment that matters — a GIF is a loop, not a film, and a tight three-second loop reads better and weighs far less than a rambling ten-second one. After trimming, the two remaining dials are width and frame rate. Width is the strongest size control: dropping from 640px to 480px roughly halves the pixels per frame. Frame rate trades smoothness for size — 12fps looks fluid for most content, 10fps is fine for slower motion, and 15fps is worth it only for fast action. The tool shows the final file size so you can feel the trade-off rather than guess at it.

GIF or video? Pick the right tool for the job

GIFs feel modern but the format is ancient, and that shows up as size: a GIF stores whole frames at 256 colours, so it’s routinely five to ten times larger than the same clip as a modern video. Reach for a GIF when you specifically need silent autoplay that loops forever in a place that won’t play video inline — a chat reply, an email, a docs page. Everywhere a feed plays video natively, post the video: better quality, sound, and a far smaller file. If your goal is really “make this clip small enough to upload,” you want the video compressor rather than a GIF — it keeps the video format and the audio while cutting the file size. And to fit a still frame to each platform’s dimensions, the image resizer handles that side.

How it keeps quality high at a small size

Because a GIF can only hold 256 colours, the colours it picks decide whether it looks crisp or muddy. A naive conversion uses one generic palette for everything; this tool runs two passes instead. The first pass analyses your specific clip and builds an optimal palette for it; the second renders the GIF against that palette with Lanczos scaling and light dithering to smooth gradients. The result is a noticeably cleaner GIF — sharper edges, less banding — at a smaller size than the one-pass approach most converters use. You don’t have to do anything to get it; it’s how every GIF here is made.

Frequently asked questions

Is my video uploaded to a server?

No. The conversion runs entirely in your browser using a WebAssembly build of ffmpeg — your video is read from your device, processed locally, and handed back as a GIF to download. Nothing is sent anywhere, there's no account, and closing the tab clears everything. The only thing fetched from the network is the conversion engine itself (about 25MB, the first time you make a GIF), which is the tool's own code, not your file.

How do I convert an MP4 to a GIF?

Drop the MP4 in, trim to the few seconds worth looping, set the width and frame rate, and download — that's the whole MP4-to-GIF conversion, done entirely in your browser with nothing uploaded. It handles MOV and WebM the same way. Keep it short: GIFs are best for a quick loop, and for anything longer than a few seconds a muted video usually looks better and weighs far less.

Why is my GIF file so large?

Because GIFs are an old, inefficient format — they store full frames and cap out at 256 colours, so a few seconds of video can balloon past several megabytes. Three levers shrink it, in order of impact: trim the clip shorter, reduce the width (640 → 480 → 320), and lower the frame rate (15 → 12 → 10 fps). A 3-second, 480px, 10fps GIF is usually a few hundred kilobytes; a 10-second, 640px, 15fps one can be 10MB+. If the size matters more than autoplay, a short muted MP4 is dramatically smaller — see the next question.

Should I make a GIF or just post a video?

Use a GIF when you need it to autoplay silently and loop forever in places that don't play video inline — a reaction in a reply, a product micro-demo in a docs page, an email (where supported). Use a video clip everywhere else: feeds play video natively, with sound, at a fraction of a GIF's file size and far better quality. A good rule: if it's under ~3 seconds and the loop is the point, GIF; if it's longer or quality matters, post the video. To shrink a clip for upload instead of GIF-ing it, use the video compressor.

What video formats can I convert?

Anything your browser and ffmpeg can read, which covers the common ones: MP4, MOV, WebM, MKV, AVI, and more. The tool reads the file directly, so there's no format-specific upload step. Very large source files (long 4K clips) can strain the in-browser engine's memory — if a conversion fails, trim to a shorter section or start from a smaller export of the source.

Why does the first conversion take longer?

The first time you create a GIF, the browser downloads the ~25MB ffmpeg engine and initializes it — that's the one-time cost. After that it's cached, so subsequent conversions skip straight to encoding. The encoding itself is a two-pass process: the first pass builds an optimal colour palette for your specific clip, and the second renders the GIF against it, which is what keeps the quality high at a smaller size than a naive one-pass conversion.

Will the GIF loop automatically?

By default, yes — the “Loop forever” toggle is on, so the GIF repeats continuously, which is the behaviour most platforms and browsers expect from a GIF. Turn the toggle off and the GIF plays through once and stops, which is occasionally what you want for a one-shot animation in a doc or email. Either way it's the same export; the toggle just sets the loop count baked into the file.