Your video, as a GIF. Nothing ever uploads.

Drop a clip below — converted entirely on your device. Trim it, size it, fit Discord's 8 MB limit.

  • Zero uploads — verifiable
  • Unlimited free use
  • Batch up to 5 clips
  • MP4, MOV, WebM, MKV, AVI, M4V

Convert video to GIF

Add your video files

Drag & drop video files here

or browse your files · up to 5 clips, 200 MB each, 60 seconds max

Converter loads only when you convert your first file — the page stays light until then.

    No files yet. Everything stays on this device. Downloads start instantly.
    Output settings
    Trim the clip

    Leave clip length blank for the whole video. Start must be inside the video; length is capped at what remains.

    Output width
    px (64–1280)

    Width is capped at the source video's own width — a 480 px video never upscales to 640.

    15 fps is smooth enough for reactions and memes; 5–10 fps makes much smaller files. GIFs are usually 10–15 fps.

    Quality / palette

    High uses a full 256-colour palette with Sierra dithering; fast uses 128 colours with Bayer dithering — smaller, flatter, quicker.

    Target size (best effort)

    Target size: 8.0 MB — fits Discord’s free 8 MB limit. The tool steps settings down until the GIF fits, and says so plainly if it cannot.

    Privacy you can verify, not just trust

    Most online video-to-GIF converters upload your clip to their servers first — and some keep a download link live for 30 days. This one can't: the encoder runs entirely in your browser. Your videos are never sent anywhere — the only requests to other sites are the site's own analytics, which count page views — and it uploads nothing, ever. The only file fetched after load for the conversion itself is the encoder (~31 MB, from this same site, once, on your first convert) — it carries no video data. Don't take our word for it:

    External requests during processing: 0 (zero — as it should be)
    1. Press F12 to open developer tools, then the Network tab.
    2. Convert any video above. Watch: apart from the site's analytics, the only request is the encoder file from this site — no uploads, and no video data ever leaves your device.
    3. Extra credit: disconnect your internet after this page loads — conversion still works.

    How to turn a video into a GIF without uploading it

    Every "free" online video-to-GIF converter you've used uploads your clip to a company server, converts it there, and — in several documented cases — keeps a copy or a live download link for days. For personal clips, family videos, and anything private, that's an unnecessary risk. The safer approach is to convert the file where it already is: on your own device.

    This tool does exactly that. When you drop a video here, your browser:

    1. Loads a real video encoder (ffmpeg, compiled to WebAssembly) — but only when you convert your first file, so the page itself stays light.
    2. Reads the clip's duration and resolution and trims it to the moment you chose, one file at a time, so the page never freezes.
    3. Builds a 256-colour palette from your clip (the palettegen pass), then re-encodes every frame against that palette (the paletteuse pass) — the standard two-pass pipeline, which is why the colours look far better than a single-pass GIF.
    4. Hands you an animated GIF as a download. Your original file is never modified, and GIFs carry no audio — the sound track is dropped by design.
    5. Target size (optional): choose a target and the tool encodes, measures, and steps the settings down — lower frame rate, then smaller width, then fewer colours — until the GIF fits, then reports the target, the size actually achieved, and how many passes it took.

    Why is my GIF bigger than the video?

    A video codec compresses across frames: it stores one full picture, then only what changes. A GIF stores every frame as its own picture, and each frame can use only 256 colours. A 10-second clip at 15 fps becomes 150 separate pictures — so the GIF is often larger than the compressed video it came from. That is the format, not a bug. The levers that shrink a GIF most are, in order: a shorter clip, fewer frames per second, and a smaller width.

    Making a GIF that fits Discord

    Discord's free upload limit is 8 MB, and a GIF that is even 1 byte over will not send. Pick the Discord 8 MB preset and keep the clip short: a 5-second reaction at 480 px and 15 fps usually fits comfortably; a 30-second clip at 640 px almost never does. If the tool reports "best effort", the smallest file it could make is still over 8 MB — trim the clip shorter or accept a lower frame rate rather than re-uploading the same file and hoping.

    Honest limitations

    GIFs are larger than videos

    A GIF stores every frame separately, so it is usually bigger than the source video. The before/after panel shows this honestly: a bigger output file is the price of a format every chat app and forum understands, not a bug.

    Only 256 colours per frame

    GIFs cannot show more than 256 colours in one frame. Smooth gradients and skin tones can look banded or speckled — that is the format's limit, and dithering only softens it.

    No sound in a GIF

    GIFs cannot carry audio. The sound track is dropped on every conversion. If you need sound, keep the video — or use the video compressor instead.

    Target size is best effort

    The tool steps settings down (frame rate, then width, then palette colours) to fit your target, but a GIF can only shrink so far: if even 320 px at 5 fps with 128 colours is bigger than the target, the card says so plainly (“best effort: closest achievable was …”) instead of claiming success.

    Short clips only

    60 seconds maximum, and 10 seconds or less works best. Browser encoding is single-threaded and holds the whole clip in memory; a 60-second 1080p clip is slow and can exhaust a tab. Long videos belong in a desktop encoder.

    AVI needs converting first

    AVI files are refused with a clear message — the browser encoder cannot decode them. Convert AVI to MP4 first (HandBrake is free) and try again.

    Frequently asked questions

    How do I turn a video into a GIF without uploading it anywhere?

    Use a tool that converts files locally in your browser. This converter loads ffmpeg (compiled to WebAssembly) into your device, decodes your clip in a background thread, and encodes it as a GIF with a two-pass palette pipeline — all with JavaScript running on your machine. No video data is sent to any server; verify it in your browser's Network tab.

    Why is my GIF bigger than the video it came from?

    That is expected, not a failure. A video codec compresses across frames — it stores one full frame and then only the changes — while a GIF stores every frame as its own picture and can only use 256 colours per frame. A 10-second video at 15 frames per second becomes 150 separate pictures, so the GIF is often larger than the compressed video. This tool shows the before/after size honestly for every file, and trimming the clip or lowering the width and frame rate shrinks it most.

    Why does a GIF only have 256 colours?

    The GIF format stores one 256-colour palette per frame — a limit built into the format since 1989, not a limit of this tool. The encoder picks the best 256 colours for each frame (the palettegen pass) and dithers the rest, which is why smooth gradients can look banded or speckled. High quality mode uses all 256 colours with Sierra dithering; fast mode uses 128 colours with Bayer dithering, which is smaller but flatter.

    What video formats can I convert, and what do I get back?

    You can drop MP4, MOV, WebM, MKV, AVI and M4V files (up to 200 MB each, 60 seconds max). You always get back an animated GIF with no audio — GIFs cannot carry sound. AVI files are refused with a clear message because the browser encoder cannot decode them; convert AVI to MP4 first (for example with HandBrake) and try again.

    How do I make a GIF that fits Discord's 8 MB limit?

    Pick the Discord 8 MB preset before converting. The tool encodes at your settings, measures the result, and steps down — lower frame rate, then smaller width, then fewer palette colours — until the GIF fits 8 MB, up to three passes. If even the smallest settings (320 px, 5 fps, 128 colours) cannot reach 8 MB, it tells you honestly and gives you the smallest file it could make instead of claiming success. Shorter clips fit far more easily than longer ones.

    How long can the clip be?

    60 seconds maximum, and short clips work best — 10 seconds or less is the sweet spot for GIFs. Browser encoding is single-threaded and holds the whole clip in tab memory, so a 60-second 1080p clip is slow and memory-heavy. Use the trim controls to take just the moment you want: a 5-second reaction GIF converts in seconds and stays small, while a full minute rarely fits Discord.

    Does this video to GIF converter upload my video?

    No. All encoding happens on your device with ffmpeg.wasm, downloaded from this site once (about 31 MB, in two parts) and then run locally. Your files are never sent to any server; the only network requests on this page are the site's own analytics (Google Analytics and a Cloudflare beacon), which load when the page opens and never see your files. You can verify it in your browser's DevTools Network tab — the page shows a live counter of requests during processing, which stays at zero while a video converts.