Shrink GIFs with two-pass palette optimization — fewer colors, lower fps, smaller width. 100% in-browser.
Drop a GIF, pick a preset, and shrink it with two-pass palette optimization
GIF compression runs entirely in your browser using ffmpeg.wasm. Your file is never uploaded to any server.
A GIF stores every frame as palette indices for full pixels — there is no inter-frame video compression. Size therefore scales with width × height × fps × seconds, capped by the palette: a 256-color palette spends 8 bits per pixel, while 64 colors needs only 6. This tool attacks all three levers at once in two passes: pass one builds an optimal palette (palettegen) from the downsampled, decimated frames; pass two re-maps every frame to it (paletteuse). Dropping 30 fps screen-capture footage to 15 fps alone halves the frame count; adding 320 px width and 64 colors typically cuts 80–95% off.
GIFs lack inter-frame compression, so fewer frames, fewer pixels, and fewer colors are the only real levers.
Tom captures a 6-second UI bug at 30 fps, 800 px wide, and the GIF comes out at 9.2 MB — too big for Slack's inline preview.
Compress GIFs up to 95% with two-pass palette optimization. Everything runs locally; nothing is uploaded.
FreeToolHub GIF Compressor is a free browser-based tool — compress GIFs up to 95% with two-pass palette optimization. No signup, no upload; everything runs locally in your browser.
Comprima GIFs até 95% com otimização de paleta de duas passagens: fps, largura e redução de cores. Baseado em navegador, sem upload.
O Compressor de GIF reduz GIFs animados com três predefinições que combinam decimação de taxa de quadros (10/15/20 fps), dimensionamento de largura (320/480/640 px) e redução de paleta (64/128/256 cores) usando o pipeline de duas passagens palettegen + paletteuse do ffmpeg. Ele mostra os tamanhos reais antes/depois e a economia calculada. Tudo local via ffmpeg.wasm.
Arraste seu GIF, escolha uma predefinição (Aggressiva para chat, Balanceada para a maioria dos usos, Leve quando a legibilidade importa) e clique em Compress. Compare as duas visualizações, depois baixe — a porcentagem de economia é calculada a partir dos tamanhos reais dos arquivos.
O tamanho do GIF é dominado pela contagem de quadros, não pelo tamanho do quadro: cada quadro armazena dados de imagem completos ou uma diferença em relação ao anterior, então uma animação de 3 segundos a 15 fps tem 45 chances de gastar quilobytes. Reduzir a taxa de quadros, diminuir as dimensões e encurtar a duração atacam o problema de lados diferentes — a taxa de quadros é geralmente a maior alavanca porque reduzir pela metade o fps remove metade dos quadros de uma vez. O compressor aplica predefinições que balanceiam os três para que você não precise adivinhar qual controle é importante para sua animação específica.
O GIF armazena cada quadro como pixels completos com índices de paleta — não há compressão de vídeo entre quadros. O tamanho escala com largura × altura × fps × segundos, então uma captura de 6 segundos a 30 fps com 800 px pode facilmente atingir 9 MB.
Duas passagens com o ffmpeg: o palettegen estuda os quadros decimados e escolhe as melhores 64/128/256 cores, depois o paletteuse remapeia cada quadro para essa paleta. Antes disso, os quadros são decimados para uma fps menor e dimensionados para uma largura menor — cada alavanca multiplica as economias.
Uma fps menor pode tornar o movimento menos suave e menos cores podem criar bandas em gradientes, mas capturas de interface com texto e cores planas toleram configurações agressivas extremamente bem. Compare as visualizações antes/depois e use a predefinição Leve se a legibilidade sofrer.
Porque os GIFs armazenam até 30-50 quadros onde uma imagem estática armazena um, e cada quadro custa bytes mesmo quando difere pouco do anterior. Uma animação de 480px de largura pode facilmente pesar mais que uma foto JPEG de 1920px. A taxa de quadros é a alavanca que mais importa: reduzir de 15 fps para 10 fps remove um terço dos quadros — e um terço do tamanho — com mínima diferença visível para a maioria do conteúdo de tela.
O formato GIF em si é sem perdas (LZW), mas limita cada quadro a 256 cores de uma paleta compartilhada — então o conteúdo fotográfico já foi degradado no momento em que se tornou um GIF. A compressão aqui reduz quadros e dimensões, o que altera a suavidade em vez da cor. Texto e gráficos planos sobrevivem perfeitamente à redução de quadros; gradientes e clipes de vídeo sofrem primeiro.
Se você controla onde a animação é exibida, sim — o WebP animado geralmente é 50-70% menor que um GIF equivalente, e o MP4 é ainda menor com cores completas. Mas o GIF permanece o fallback universal: clientes de e-mail, apps de chat mais antigos e algumas incorporações de CMS renderizam quando nada mais funciona. Comprima o GIF quando a compatibilidade é o requisito; re-codifique para WebP quando a largura de banda é.
A predefinição balanceada visa aproximadamente metade do tamanho original removendo quadros redundantes e reduzindo modestamente as dimensões; a predefinição agressiva vai mais longe com maior pulo de quadros e redução de escala; a predefinição de qualidade prioriza suavidade e remove apenas quadros que são quase duplicados. Execute o mesmo GIF através de duas predefinições e compare as saídas lado a lado — a visualização mostra exatamente o que cada escolha faz ao movimento antes de você confirmar.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.