Compressor de GIF
Diga o limite de tamanho. Ele comprime, mede o arquivo de verdade e vai baixando os ajustes até caber — ou avisa que não deu e mantém o menor resultado.
Roda totalmente no seu navegador. Seus vídeos nunca saem deste dispositivo.
Este compressor de GIF deixa um GIF menor que o tamanho que você indicar — 20 MB para o Discord, 256 KB para um emoji ou qualquer número em KB ou MB — no seu dispositivo, sem enviar nada. Ele mexe nos três controles reais de um GIF: cada quadro é recodificado com uma paleta otimizada para o clipe inteiro (até 256 cores), e a taxa de quadros e as dimensões só caem até onde o alvo exigir, medindo o arquivo de verdade depois de cada passada, até cinco. A economia costuma ser de 30–65 % e varia muito com o conteúdo. Encolher um GIF sempre descarta algo — cores, quadros ou pixels — e alguns clipes não têm como chegar a um alvo muito pequeno. Quando o seu não consegue, a ferramenta avisa, mantém o menor resultado e oferece um MP4 sem áudio (normalmente 85–95 % menor). Sem marca d’água, sem cadastro, sem teto artificial de tamanho.
Como um compressor de GIF reduz o tamanho de um arquivo GIF?
Um compressor de GIF deixa um GIF menor cortando as três coisas que definem seu tamanho: o número de cores da paleta, os quadros por segundo e as dimensões em pixels. Um GIF guarda cada quadro como uma imagem indexada completa, sem nada parecido com a predição de movimento de um codec de vídeo, então 10 segundos de animação em 1080p chegam a dezenas de megabytes — medimos 1,8–8,6 MB para um único segundo em 1080p e 15 fps, dependendo do material — e uma recodificação que não muda nenhuma dessas três coisas sai mais ou menos do mesmo tamanho: não existe um botão “otimizar” de graça. Medido no nosso motor: cortar a paleta de 256 para 128 cores tira 16–27 %, baixar a taxa de quadros de 15 para 10 fps tira cerca de 31 %, reduzir a largura a 75 % tira 28–37 %, e os três juntos tiram 61–66 % — ainda que dois clipes com ajustes idênticos possam diferir 5× em tamanho, porque gravações de tela com cores chapadas comprimem muito melhor do que material cheio de gradiente. Esta ferramenta aplica os controles nessa ordem, começando no degrau que a previsão de tamanho indica que deve caber, recodificando cada quadro com uma paleta calculada para o seu clipe inteiro e dithering ordenado, e mede o arquivo de verdade depois de cada passada — no máximo cinco — até que uma fique abaixo do alvo que você digitou, ou avisa que não conseguiu e mantém o menor resultado. Se o destino aceitar vídeo — Discord, Slack e X aceitam —, converter o GIF em um MP4 H.264 sem áudio costuma gerar um arquivo 85–95 % menor que o GIF, porque um codec de vídeo guarda principalmente o que muda entre os quadros.
Os fatos que importam
| Tamanho-alvo | Qualquer número em KB ou MB, ou uma predefinição — 20 MB para upload no Discord · 15 MB para o X na web · 10 MB para o GitHub · 8 MB para o GIPHY (o tamanho que ele recomenda) · 5 MB para o X no celular · 1 MB · 512 KB para emote da Twitch · 256 KB para emoji do Discord · 128 KB para emoji do Slack; tetos de quadros embutidos (X 350, Twitch 60, Slack 50) — limites lidos nas páginas de ajuda de cada plataforma, set. 2026 |
|---|---|
| Como ele chega abaixo do alvo | Prevê um ponto de partida pelo tamanho do arquivo, codifica, mede o arquivo de verdade, desce um degrau — primeiro as cores, depois a taxa de quadros, depois as dimensões — em até 5 passadas, parando na primeira que couber; se nenhuma couber, avisa, mantém o menor resultado, sugere um loop mais curto e oferece o MP4 no mesmo cartão — nunca um arquivo maior em silêncio |
| Método | Cada quadro é recodificado com uma única paleta calculada para o clipe inteiro (até 256 cores, com uma entrada reservada para a transparência) e dithering ordenado; a cada quadro, só a região que muda é reescrita; as cores passam por uma nova quantização, então algum detalhe é descartado. Ou ajuste os controles você mesmo: 256 / 128 / 64 / 32 cores, 15 / 10 / 8 / 5 fps ou como está, 480 / 320 / 240 / 160 px ou como está |
| Economia típica | 30–65 % como GIF, e depende muito do conteúdo — os três controles juntos tiraram 61–66 % no nosso motor; dois clipes com os mesmos ajustes podem diferir 5× (gravações de tela com cores chapadas ficam pequenas, vídeo cheio de gradiente fica grande); uma recodificação sem mexer em nenhum controle economiza ±0 % |
| Saída | GIF; ou um MP4 H.264 sem áudio em um clique no cartão de resultado, feito a partir do seu GIF original — normalmente 85–95 % menor, toca direto no Discord, no Slack e no X |
| Velocidade e lote | Normalmente 2–6 s por passada em GIFs de 2–9 MB em um notebook, em uma única thread; coloque vários arquivos na fila e eles são processados um após o outro, cada um com a leitura imediata do cabeçalho (dimensões, quadros, duração, fps, tamanho) e o próprio download |
| Limites | Sem marca d’água, sem cadastro, sem teto artificial de tamanho — a memória do navegador (~1–2 GB) é o limite prático |
| Privacidade | Processado inteiramente no seu dispositivo — FFmpeg compilado para WebAssembly, ~32 MB baixados uma vez e mantidos em cache; nada é enviado e funciona offline depois do primeiro carregamento |
Consiga um resultado melhor
- Um “GIF de 60 fps” toca a 10 fps. Os atrasos entre quadros são guardados em centésimos de segundo inteiros, e os navegadores tratam qualquer atraso abaixo de 2 cs como 10 cs — então um clipe exportado a 60 fps mostra cada quadro a 10 fps, seis vezes mais devagar do que deveria, carregando seis vezes mais quadros do que uma exportação a 10 fps de verdade teria; 50 fps (um atraso de 2 cs) é o máximo que um GIF consegue tocar. A leitura do cabeçalho de cada arquivo aplica a mesma regra, então o sintoma aparece antes de você comprimir: 10 fps e uma duração de reprodução bem maior que a do seu clipe. Baixar a taxa de quadros aqui só remove mais quadros, não devolve a velocidade — volte ao vídeo original e exporte a 15 fps ou menos (a ferramenta de vídeo para GIF deste site vai até 25 fps).
- Para um emoji ou emote personalizado, prepare o clipe antes de comprimir. As predefinições de emoji — 256 KB Discord, 128 KB Slack, 512 KB Twitch — começam com 128 px de largura (112 px na Twitch) e 64 cores, e reduzir um original de 480 px para 128 px já joga fora mais de 90 % dos pixels, então primeiro recorte a imagem em um editor até sobrar só o assunto: a 128 px, cada coluna gasta com margem vazia é uma coluna que o assunto não recebe. Depois corte o clipe no ponto em que o loop fecha — o Slack limita emojis a 50 quadros e os emotes da Twitch a 60, as predefinições baixam a taxa de quadros para caber, mas não descem abaixo de 5 fps, e um clipe de 4 segundos a 15 fps já tem 60 quadros — e deixe as cores para o modo de tamanho.
- Gravações de tela com cores chapadas e material de câmera pedem controles diferentes. A gravação de tela é o caso fácil — grandes áreas de cor idêntica e trechos longos em que nada se move são exatamente o que a paleta única do clipe e a reescrita só da região que muda aproveitam —, então grave só a janela que importa, corte as cores primeiro (256→64 tirou 34–49 % no nosso motor, e o texto continua nítido porque já usava poucas cores) e desça para 10 fps, onde o movimento do cursor ainda fica fácil de acompanhar. Em material cheio de gradiente, menos cores criam faixas visíveis (banding) em céus e pele, então, quando você mesmo ajustar os controles, mexa na taxa de quadros (15→10 fps tirou cerca de 31 %) e na largura (três quartos da largura tiraram 28–37 %) antes de mexer nas cores — ou fique com o MP4. Com ajustes idênticos, dois clipes podem diferir 5× em tamanho.
- Se o GIF vai para uma página web que você controla, publique o MP4 em vez do GIF. O Lighthouse sinaliza qualquer GIF animado acima de 100 KiB (verificado em set. 2026), e um elemento de vídeo sem som, em loop e tocando na própria página se comporta como um GIF pesando normalmente 85–95 % menos — o botão “Converter para MP4” no cartão de resultado gera esse arquivo a partir do seu original. Guarde um GIF de verdade só onde uma tag de imagem é a única coisa que vai tocar: um README, um e-mail, um CMS que recusa vídeo.
- Vai mandar um GIF por e-mail? O Gmail e o Outlook.com aceitam anexos de até 25 MB, mas o Outlook clássico de desktop mostra só o primeiro quadro, a menos que o destinatário tenha ativado as animações (verificado em set. 2026). Faça o primeiro quadro se sustentar sozinho — uma cartela de título ou o estado final, não um fade-in a partir do preto — e mantenha o arquivo pequeno o suficiente para carregar antes de o leitor rolar a página e passar por ele.
Perguntas frequentes
Como comprimo um GIF para menos de 20 MB no Discord?
Escolha a predefinição de 20 MB do Discord (ou digite 20 MB), solte o GIF aqui e a ferramenta comprime, mede o arquivo de verdade e vai baixando os ajustes — primeiro as cores, depois a taxa de quadros, depois as dimensões — por até cinco passadas, até uma ficar abaixo de 20 MB ou as passadas acabarem. O limite grátis de upload do Discord é 20 MB, que subiu de 10 MB em agosto de 2026; o Nitro Basic permite 50 MB e o Nitro, 500 MB (verificado em set. 2026), e a maioria das outras ferramentas e guias ainda cita os antigos 8 ou 10 MB, então você pode estar comprimindo mais do que precisa. Se o seu GIF está várias vezes acima do limite, o caminho do GIF exige cortes pesados de cor e de taxa de quadros; o botão “Converter para MP4” no cartão de resultado dá um arquivo H.264 sem áudio que costuma ser 85–95 % menor e toca direto no Discord. Se nem cinco passadas conseguirem chegar abaixo do limite, a ferramenta avisa e mantém o menor resultado em vez de fingir que deu.
Como deixo um GIF com menos de 512 KB, 256 KB ou 128 KB para um emoji ou emote?
Escolha a predefinição correspondente — 512 KB para emote da Twitch, 256 KB para emoji do Discord (o Microsoft Teams tem o mesmo limite de 256 KB), 128 KB para emoji do Slack — e a ferramenta começa com 128 px de largura (112 px na Twitch) e 64 cores, baixa a taxa de quadros para o clipe caber no teto de quadros da plataforma (Slack 50, Twitch 60) e depois reduz cores, taxa de quadros e tamanho até uma passada ficar abaixo do limite ou as cinco passadas acabarem. As regras, verificadas em set. 2026: emojis personalizados do Discord precisam ficar abaixo de 256 KB e o Discord não publica regra de pixels (o 128×128 é lenda); emojis do Teams abaixo de 256 KB; Slack abaixo de 128 KB e no máximo 50 quadros; emotes animados da Twitch no máximo 512 KB e 60 quadros. O teto de quadros é a parte difícil em um clipe longo — 50 quadros espalhados por 10 segundos dão 5 fps, o mais baixo que esta ferramenta chega —, então, se o seu loop for mais longo que isso, ela avisa para você encurtá-lo primeiro; e se o tamanho não puder ser atingido, ela diz isso e mantém o menor resultado. As figurinhas do Discord (stickers) são outra coisa completamente diferente: aceitam APNG com 512 KB e 320×320, não GIF.
Por que meu GIF ficou maior depois de comprimir?
Porque a ferramenta o recodificou de um jeito que custou mais bytes do que economizou — em geral juntando os quadros em imagens completas (desfazendo a otimização por diferença de quadros do original), escrevendo uma paleta separada para cada quadro ou aplicando um dithering pesado que enche as áreas chapadas de ruído. Um GIF não tem um controle de qualidade para você reduzir; o tamanho dele é definido pelas cores, pela taxa de quadros, pelas dimensões e pelo quanto os pixels que não mudam são reaproveitados, então um “compressor” que não muda nada disso não ganha nada que valha a pena — e algumas ferramentas entregam o arquivo maior sem dizer nada. Esta nunca devolve um arquivo maior em silêncio: se a recodificação ficar maior que o seu original, você recebe o original de volta e o cartão de resultado diz isso; e se o arquivo já está abaixo de um alvo de tamanho simples, ele é devolvido sem mudanças e rotulado como tal (as predefinições de emoji continuam aplicando seus tetos de largura e de quadros). Para diminuir de verdade, um dos três controles tem que se mexer.
Existe uma forma de comprimir um GIF sem perdas?
Não — nenhuma que reduza o arquivo de forma significativa. Os truques que não descartam nada — reescrever só a região que muda entre os quadros e marcar o resto como transparente — já estão ligados no codificador desta ferramenta, e nos nossos clipes de teste uma recodificação sem mexer em nenhum controle fica em ±0 %, então não há economia de graça escondida no arquivo. Todo método que realmente tira bytes descarta algo que você consegue ver — cores, quadros ou pixels — e a nova quantização de paleta que esta ferramenta faz não é exceção; o que uma paleta calculada para o seu clipe específico traz é que as 256 entradas vão para as cores que o seu clipe realmente usa, e não para um conjunto genérico. A única economia que não custa qualidade visível é recortar as margens mortas, o que esta ferramenta não faz (qualquer editor de imagem faz) — faça isso antes de soltar o arquivo aqui. Se o destino aceitar vídeo, um MP4 H.264 sem áudio costuma ficar 85–95 % menor e preserva mais da cor original do que um GIF espremido em 64 cores.
Por que um GIF é 10–50× maior que o MP4 de onde ele veio?
Porque um GIF guarda cada quadro como uma imagem indexada completa, sem nenhuma predição entre quadros, enquanto o H.264 guarda um quadro completo e depois, principalmente, as diferenças em relação aos quadros vizinhos. Dez segundos de animação em 1080p como GIF chegam a dezenas de megabytes — medimos 1,8–8,6 MB para um único segundo em 1080p e 15 fps — enquanto o mesmo clipe em MP4 é uma pequena fração disso, e o GIF ainda fica pior, mesmo sendo maior, porque sua paleta é limitada a 256 cores. É também por isso que os controles que você tem são cores, quadros e pixels — não há muito mais o que apertar. Por isso o cartão de resultado oferece uma conversão em um clique: o arquivo H.264 sem áudio costuma ser 85–95 % menor (87–96 % nos nossos clipes de teste) e toca direto no Discord, no Slack e no X. As razões para manter um GIF são os destinos que exigem o formato — emojis personalizados, READMEs do GitHub, e-mail.
Menos cores ou dithering deixam um GIF maior ou menor?
Menos cores deixam o arquivo menor; o dithering costuma deixá-lo maior com a mesma paleta. No nosso motor, ir de 256 para 128 cores tira 16–27 % e de 256 para 64 tira 34–49 %, porque uma paleta menor cria sequências mais longas de pixels idênticos, que comprimem bem; o custo é o banding, mais visível em céus, pele e sombreados suaves, e menos visível em tamanho de emoji — é por isso que as predefinições de emoji já começam em 64 cores. O dithering faz o contrário: espalha pixels alternados para simular os tons que você tirou, o que parece mais suave, mas é justamente o que comprime mal — um dithering pesado por difusão de erro pode comer boa parte do que o corte de cores economizou. Esta ferramenta monta uma paleta única para o clipe inteiro (255 cores mais uma entrada transparente para os pixels que não mudam) e usa dithering ordenado, cujo padrão regular costuma se dar melhor com a compressão do GIF do que a difusão de erro — costuma, não sempre, e é por isso que o modo de tamanho mede cada passada em vez de confiar em uma previsão.
O Discord diz que meu GIF está abaixo do limite e mesmo assim recusa — por quê?
Normalmente porque você está batendo em um limite diferente do que conferiu. O teto grátis de 20 MB do Discord vale para anexos; emojis personalizados precisam ficar abaixo de 256 KB, e as figurinhas aceitam APNG (512 KB, 320×320), não GIF, então um arquivo que passa no chat é recusado como emoji ou figurinha (verificado em set. 2026). Segundo, as unidades: “256 KB” pode significar 256.000 bytes ou 262.144, e os gerenciadores de arquivos também discordam — o Explorador de Arquivos do Windows conta 1 KB como 1.024 bytes, então um arquivo que ele mostra como 255 KB tem 261.120 bytes, acima do limite de 256.000 bytes; esta ferramenta também conta 1 KB como 1.024 bytes, então digite um alvo alguns por cento abaixo do teto — 245 KB em vez de 256 — e ele passa nas duas leituras. Terceiro, enviar um GIF como avatar abre uma tela de recorte, e aplicar o recorte recodifica a imagem e pode empurrá-la de volta para cima do limite — clique em Pular para enviar o arquivo intacto. E um GIF que é enviado mas fica parado não é um upload que falhou: quem está vendo tem a reprodução automática de GIFs do Discord desativada.
Quais plataformas convertem meu GIF em vídeo de todo jeito e quais precisam de um GIF de verdade?
O Telegram, o X, o Facebook e o Mastodon (até 16 MB) convertem um GIF enviado em MP4 nos servidores deles, e o Shopify o transforma em um WebP animado; há muitos relatos de que o WhatsApp e o Reddit também convertem, embora não tenhamos conseguido confirmar isso em uma página oficial (todo o resto aqui foi verificado em set. 2026). Nessas plataformas, um GIF só custa tempo de upload e uma segunda rodada de recodificação — você pode mandar o MP4 do cartão de resultado no lugar dele, normalmente 85–95 % menor. Um GIF de verdade é necessário onde o formato é obrigatório: emojis personalizados no Discord (abaixo de 256 KB), no Slack (abaixo de 128 KB, ≤ 50 quadros) e no Teams (abaixo de 256 KB); emotes da Twitch (≤ 512 KB, ≤ 60 quadros); GitHub, que aceita imagens e GIFs de até 10 MB; Notion, com 5 MB por arquivo no plano grátis; bibliotecas de GIF — o GIPHY aceita até 100 MB e 15 s, mas recomenda ≤ 8 MB, 480p e menos de 200 quadros, e o Tenor vai até 14 s; e e-mail, onde o Gmail e o Outlook.com permitem anexos de 25 MB. O X é o caso à parte: aceita GIFs de até 15 MB na web e 5 MB no celular, ≤ 350 quadros (um limite da API), e depois os converte de todo jeito.
Existe limite de tamanho de arquivo, e meu GIF é enviado para algum lugar?
Sem limite artificial e sem upload. O motor — FFmpeg compilado para WebAssembly, cerca de 32 MB — é baixado uma vez, fica em cache, e depois cada quadro é decodificado, recebe uma nova paleta e é recodificado no seu dispositivo. Você pode verificar: abra a aba de rede do navegador enquanto comprime — depois que o motor carrega, nenhuma requisição leva o seu arquivo, e a página continua funcionando offline. O teto prático é a memória do navegador, cerca de 1–2 GB — o que dá um GIF enorme. A contrapartida é que o trabalho é feito pelo seu dispositivo: uma passada em um GIF de 2–9 MB normalmente leva 2–6 segundos em um notebook, uma rodada no modo de tamanho tem no máximo cinco passadas, e um lote é processado um arquivo após o outro, então uma fila longa demora proporcionalmente mais. Sem marca d’água, sem cadastro.