Transforme um vídeo ou um monte de imagens em GIF, dentro do próprio navegador
Extraia quadros de um vídeo ou enfileire imagens, edite a linha do tempo e codifique um GIF com paleta global e compressão entre quadros, tudo no seu navegador.
Solte um vídeo ou um conjunto de imagens
MP4, WebM, MOV, MKV, AVI — ou imagens PNG, JPG, WebP, AVIF, GIF, BMP e HEIC.
Soltar um arquivo não dispara nada: você escolhe os ajustes e aperta o botão.
Como funciona
Solte o arquivo
Um vídeo ou um monte de imagens. Nada é enviado e nada começa sozinho.
Escolha o trecho
Marque o início, o fim e a taxa de quadros e extraia — ou pegue os quadros um a um, à mão.
Edite a linha do tempo
Apague quadros, inverta a ordem, segure um por mais tempo e ajuste cores e pontilhado.
Codifique e confira
Segure Alt sobre a prévia para comparar o GIF com a origem e depois baixe ou mande para outra ferramenta.
Uma paleta para o clipe inteiro
As cores são escolhidas por corte mediano sobre todos os quadros de uma vez, então nada muda de tom no meio do laço.
Só o que se moveu é gravado
Os pixels que um quadro compartilha com o anterior são herdados em vez de recodificados. Numa gravação de tela isso é quase o arquivo todo.
Pontilhado que acaba com as faixas
Difusão Floyd–Steinberg em serpentina, com a intensidade num controle, para os degradês continuarem limpos até com 64 cores.
Uma linha do tempo editável
Apague quadros, inverta a sequência, faça um palíndromo, segure um único quadro. Desfazer não custa nada: guarda identificadores, não bitmaps.
Codificado em todos os seus núcleos
A animação é dividida entre vários web workers, então a aba continua utilizável e a barra de progresso conta quadros de verdade.
Nada sai da aba
O decodificador, a paleta e o compressor são JavaScript rodando na sua máquina. Sem upload e sem modelo baixado de um CDN.
Encadeado com o resto da suíte
Passe o quadro exibido direto para recortar, comprimir ou remover o fundo sem baixar antes.
Um codificador de GIF de verdade, não um despejo de canvas
Os quadros são lidos direto do vídeo já decodificado com redimensionamento de alta qualidade, sem nunca passar por um JPEG intermediário. A paleta é construída por corte mediano sobre a animação inteira, os pixels são mapeados com pontilhado Floyd–Steinberg em serpentina, e tudo o que um quadro compartilha com o anterior é gravado como transparente e herdado. O trabalho é dividido entre vários web workers, então a página continua respondendo e a barra de progresso acompanha quadros reais.
Para relatos de bug, demonstrações e laços de reação
Grave um bug uma vez e corte para os quatro segundos que importam. Transforme o passeio por um design em algo que roda sozinho dentro de um pull request. Ou enfileire algumas capturas e ajuste o tempo delas à mão. A linha do tempo continua editável até você apertar codificar.
Nada é enviado e nada é baixado
Cada etapa roda nesta aba: o decodificador de vídeo é o do próprio navegador, o quantizador e o compressor LZW são JavaScript que vem junto com a página, e o resultado é um Blob que nunca sai da sua máquina. Não há servidor para onde mandar arquivos nem modelo ou codec buscado num CDN. A contrapartida é honesta: tudo esbarra na sua memória RAM, então um clipe em 4K precisa ser cortado e reduzido antes de conseguir ser codificado.
Perguntas Frequentes
QExiste limite de tamanho de arquivo?+
Fixo não, mas real sim: os quadros ficam na memória da sua aba. Um GIF de 480 px e 4 segundos a 12 fps são cerca de 50 MB de dados de trabalho e codifica em poucos segundos; um clipe em 4K esgota a aba muito antes de terminar. Corte o trecho e baixe o tamanho de trabalho — é para isso que esses controles existem.
QPor que meu GIF continua tão grande?+
O GIF é um formato de 1987: 256 cores e nenhuma compensação de movimento. Reduza primeiro a largura, depois a taxa de quadros e depois a paleta. Deixar “reaproveitar os pixels que não mudam” ligado costuma valer mais que as três coisas juntas: numa gravação de tela isso elimina quase o arquivo inteiro.
QPor que a taxa de quadros não é exatamente a que escolhi?+
O GIF guarda cada espera em centésimos de segundo, então só existem taxas do tipo 100/n. Pedir 12 fps significa na prática 8 centésimos por quadro, ou seja, 12,5. O painel mostra a taxa que você vai obter de fato, não a pedida.
QQuais formatos posso usar?+
Qualquer vídeo que o navegador consiga reproduzir — MP4/H.264, WebM, MOV e muitas vezes MKV — além de PNG, JPG, WebP, AVIF, GIF, BMP e o HEIC do iPhone para imagens. Um GIF animado colocado como imagem contribui apenas com o primeiro quadro.
QAlguma coisa é enviada para um servidor?+
Não. Não existe etapa de envio nem requisição externa: o codificador vem junto com a página e roda em web workers dentro desta aba.
QDá para manter a transparência?+
Dá, com a chave “manter a transparência”. O GIF aceita exatamente uma cor totalmente transparente, então bordas suaves viram bordas duras. Não pode ser combinado com o reaproveitamento de pixels, porque os dois precisam da mesma vaga transparente.