Reduce GIF file size

Bring a GIF under an upload limit by shrinking it, trimming colours and dropping frames, on your own device.

Make a GIF smaller in your browser: halve its size and drop frames to fit Discord, Slack or email limits. It is free, needs no account and adds no watermark, and your files are not uploaded: everything runs in your browser on your device. The size limit is your device’s memory, and phones hold less; give the page a short while after one visit to save itself for offline use, and then it works offline.

Drop GIFs to make smalleror click to choose files. Batches welcome.
    Details

    Each frame keeps only what changed from the one before. Stronger levels use fewer colours and ignore tiny changes.

    Dropped frames give their time to the frame before, so the GIF plays at the same speed, a little less smoothly.

    Working…

    Done

    Your files are processed on this device and never sent to a server. Reload the page to clear everything from memory.

    A GIF that is too big to post is a common frustration: Discord and Slack reject large uploads, email bounces them, and web pages load them slowly. This page starts with settings that cut most GIFs to a fraction of their size: strong compression and 75% of the original width and height.

    If the result is still too large, lower the size to 50% or drop every second frame and compress again. Each result shows its new size, so you can see when it fits. Dropped frames lend their time to the frame before, so the GIF still plays for as long as it did.

    The GIF is compressed in your browser tab, so it is never uploaded and there is no watermark or limit.

    A rough guide to what each setting buys you: a GIF’s size tracks its pixels times its frames. 75% of the width and height is about 56% of the pixels, 50% is a quarter, and 33% is about a ninth. Drop every second frame and there are half as many frames to store. So 50% with every second frame dropped often lands somewhere near an eighth of the original, though busy footage shrinks less than flat animation.

    Work towards a limit in steps. Try the preset first. If it is still over, go to 50% before you touch the frames, because a smaller GIF usually looks better than a jerky one. For a Discord emoji, which has to fit in 256 KB and is shown very small, 33% with every second frame dropped is a sensible starting point.

    How it works

    1. Drop the GIF.
    2. Keep the settings, or choose a smaller size or fewer frames.
    3. Press Compress and check the new size.

    In your browser, not on a server

    gifuct-js (MIT) reads the GIF byte by byte in your tab and every frame is composited the way browsers play it, honouring each frame’s delay and disposal rule. The frames are then written back with gifenc’s (MIT) colour quantizer and LZW coder: each frame after the first stores only the rectangle that changed, with unchanged pixels left transparent, and the stronger levels use fewer colours and ignore changes too small to see. The new GIF is assembled in memory.

    Compared with upload-based tools: Online GIF compressors upload the file to optimise it on their server, cap free files at around 50 MB, keep uploads for a while, and some add a watermark. Screen recordings and reaction GIFs of friends are often personal. Here the GIF never leaves your device, and you can compress a whole folder at once.

    Verify it yourself. Give the page a short while after one visit to save itself for offline use, then turn off Wi-Fi or switch to airplane mode and run the tool again. Or open your browser's developer tools (F12, or Cmd-Option-I on a Mac), pick the Network tab, and watch it while you convert. The panel above does the same count for you.

    Questions

    What are the common GIF size limits?

    Discord: 10 MB per upload on a free account, 256 KB for a custom emoji and 512 KB for a sticker. Slack: 1 GB, but GIFs over a few MB do not autoplay for everyone. Twitter/X: 15 MB. Most email providers: 25 MB for the whole message.

    Can I compress the result again?

    Yes, drop the smaller GIF back in, but pick a lower Size or fewer Frames rather than running the same settings twice. Repeating Strong on its own gains little, and each pass reduces the colours again, so gradients can start to band. Starting from the original with stronger settings gives a cleaner result.

    Why is my GIF still too big for Discord?

    Long or detailed GIFs, like a clip of live video, carry a lot of change in every frame, and GIF stores that poorly however it is compressed. Cut it shorter before making the GIF, or send an MP4 instead: Discord plays videos inline, and GIF to MP4 turns this file into one a fraction of the size.

    Is the file uploaded anywhere?

    No. There is no server in this process. The page is a static file and the work is done by code running inside your browser tab. Give the page a short while after one visit to save itself for offline use; then you can turn off Wi-Fi and it still works.

    More image tools

    Other conversions

    Guides