IA no seu dispositivo — profissional e privado.

Dividir GIF em quadros

Divida um GIF em quadros: cada um no seu próprio arquivo.

  • Sem envio
  • PNG, JPG, WebP ou GIF
  • Intervalo ou um a cada N
  • Tempos mantidos

Solte um GIF aqui

GIF, WebP animado ou APNG

Formato do quadro
Formato do quadro
Tamanho do PNG

Compacto escreve o PNG por conta própria e sai cerca de duas vezes e meia menor com os mesmos pixels.

PNG mantém cada pixel exatamente como a animação tinha.

Quais quadros
Quais quadros

A contagem aparece antes de qualquer execução.

Tamanho do quadro
100%

Os quadros podem ser reduzidos, nunca ampliados.

Folha de sprites

Uma imagem com os quadros selecionados numa grade, ao lado dos arquivos separados.

Como dividir um GIF em quadros

Transforme um GIF animado num conjunto de imagens separadas, uma por quadro, na ordem em que a animação é reproduzida.

  1. 1

    Adicione a sua animação

    Arraste um GIF animado para a área de soltura ou clique para procurar. WebP animado e APNG também funcionam. O arquivo é lido no seu dispositivo e nunca é enviado.

  2. 2

    Escolha o formato e quais quadros quer

    PNG mantém cada pixel exatamente como estava e é o padrão. Depois pegue todos os quadros, um intervalo, um a cada N, ou digite uma lista como 1, 3, 5-9 — a contagem aparece antes de qualquer execução.

  3. 3

    Extraia

    Cada quadro selecionado aparece na tela como imagem própria, numerado pela sua posição na animação original e com o seu próprio tempo de exibição.

  4. 4

    Salve um quadro ou todos

    Cada quadro tem o seu próprio download, ou leve o conjunto inteiro num ZIP. O arquivo traz ainda um pequeno arquivo de tempos com o atraso de cada quadro, para refazer a animação exatamente.

Por que dividir um GIF em quadros

Uma animação é uma pilha de imagens fingindo ser um arquivo só, e muitas vezes a imagem de que você precisa está lá dentro. Você quer o quadro exato em que a expressão funciona, para usar como miniatura. Quer conferir se o terceiro quadro é mesmo o que tem o artefato. Quer recuperar a folha de sprites de um GIF que lhe mandaram no lugar dos arquivos de origem. Ou quer editar a animação quadro a quadro, o que exige ter os quadros.

Pegue todos os quadros, um intervalo, um a cada N ou uma lista que você digita — como PNG, JPG, WebP ou GIF, com folha de sprites na mesma execução.

Lê GIF, WebP animado e APNG. Escreve uma imagem parada por quadro, numerada pelo seu lugar na animação original, mais uma folha de sprites opcional e um arquivo de tempos no arquivo compactado.

O que um conjunto de quadros lhe dá

  • O quadro bom. Uma imagem tirada da animação, em qualidade plena, para usar como pôster, miniatura ou still. Avançar um GIF no navegador e tirar uma captura dá uma aproximação reamostrada e recomprimida; extrair dá o quadro.
  • Algo editável. Todo editor de imagem trabalha com imagens paradas. Dividir, editar e remontar é como se faz a maior parte das edições de GIF, e o primeiro passo é onde quase todo mundo trava.
  • Uma folha de sprites. Motores de jogo e animação em CSS querem uma imagem com os quadros numa grade. Refazê-la à mão a partir de uma animação é tedioso; é a mesma operação da extração, arrumada de outro jeito.
  • Evidência. Contagem de quadros, tempos e conteúdo exato dos pixels são o que você precisa quando uma animação parece errada e você quer descobrir por quê.

O que um quadro realmente é dentro de um GIF

Esta é a parte que separa um extrator que funciona de um que produz uma pasta de fragmentos confusos. Um quadro de GIF não precisa ser a imagem inteira. O formato permite que cada quadro seja um retângulo de qualquer tamanho, colocado em qualquer posição, com a sua própria paleta, a sua própria cor transparente e a sua própria instrução sobre o que fazer com a tela depois. Uma animação de vinte quadros de um rosto em que só os olhos piscam pode guardar o quadro um como a imagem completa de 400 por 300 e os quadros dois a vinte como remendos de 60 por 20. Entregar esses quadros crus a um codificador produz uma imagem utilizável e dezenove recortes minúsculos de um olho, que não é o que ninguém quis dizer com dividir um GIF.

O que acontece aqui com cada quadro

  • Composição. Cada quadro é desenhado sobre uma tela do tamanho lógico completo da animação, respeitando a sua posição, a sua transparência e o método de descarte do quadro anterior. O que se exporta é a imagem que um espectador teria visto naquele momento.
  • Seleção. Os quadros pedidos são escolhidos por índice, sem decodificar os outros. A seleção é aritmética pura: nada é reamostrado e nada perde qualidade.
  • Escala, se pedida. Um desenho por quadro no tamanho menor, no seu hardware gráfico quando disponível. O controle de escala não amplia; extrair quadros maiores que a animação seria inventar pixels que ela nunca teve.
  • Codificação. Um arquivo por quadro, escrito diretamente e não através de uma captura de tela de um canvas. Em PNG isso é sem perdas, então o quadro exportado e o decodificado são os mesmos pixels.

O que um divisor não pode mudar

Três coisas têm de sobreviver, e as três são verificadas a cada execução em vez de presumidas. A ORDEM: o quadro três da animação tem de ser o arquivo três da saída, o que é verificado pixel a pixel contra a origem com uma biblioteca de imagem independente. A TELA: cada quadro sai no tamanho completo da animação, então um quadro que é um sub-retângulo é composto e não recortado. E os TEMPOS: o atraso próprio de cada quadro viaja com ele até o arquivo de tempos do arquivo compactado, porque os atrasos de um GIF são por quadro e irregulares muito mais vezes do que se imagina. Uma ferramenta que perca qualquer uma das três ainda produz uma pasta cheia de imagens plausíveis, que é justamente por que cada uma é medida.

PNG, JPG, WebP ou GIF — e qual escolher

Um quadro de GIF é uma imagem de paleta: no máximo 256 cores, com uma delas opcionalmente transparente. Esse fato decide tudo sobre qual formato de saída é o certo, e é por isso que aqui o padrão é PNG e não o JPG com que a maioria das ferramentas abre.

Formato a formato

  • PNG — o padrão, e sem perdas. Guarda as cores do quadro exatamente e mantém a transparência. Como um quadro de GIF tem tão poucas cores distintas, o PNG costuma comprimi-lo bem, então o sem perdas custa menos do que se espera. Escolha outra coisa só por um motivo específico.
  • JPG — pequeno, para material fotográfico. Bom para quadros vindos de vídeo, onde a imagem já tem ruído e você extrai muitos. Não tem transparência, então uma cor de fundo é pintada por baixo; e acrescenta halos em volta das bordas duras, o que é a troca errada para texto, capturas e arte de linha.
  • WebP — entre os dois. Menor que o PNG com aspecto parecido e, ao contrário do JPG, mantém a transparência. O problema é que nem todo navegador sabe ESCREVER um, então o controle mostra se o seu sabe em vez de supor.
  • GIF — um quadro que continua sendo imagem de paleta. Cada quadro reescrito como o seu próprio GIF de um único quadro, com a paleta intacta. É o formato a escolher quando os quadros voltam para outra ferramenta de animação que os espera assim.

O problema da caixa preta

Se você já extraiu quadros de um sticker ou da animação de um logotipo e recebeu uma pasta de imagens dentro de retângulos pretos, é por isto: o JPG não tem canal alfa, e um pixel transparente desenhado sobre uma tela intocada é preto, então um extrator que escreve JPG sem pensar nisso produz exatamente isso. Aqui uma cor de fundo é pintada sob cada quadro antes de escrever um formato opaco, e o padrão é branco porque é quase sempre o que se quer. O preto é oferecido para os casos em que não é. O controle é verificado nos dois sentidos: uma escolha de fundo que produzisse a mesma imagem dos dois lados seria um rótulo, não um ajuste.

  • GIF to PNG converter — one picture in, one picture out. Use it when you have a still GIF you want as a PNG; for an animation it gives you the first frame, not the set.
  • GIF to JPG converter — the same, for JPG, and with the same background handling for transparency. Use it for one picture; use this page when you want what is inside an animation.

Escolher quais quadros extrair

Extrair todos é o certo surpreendentemente poucas vezes. Uma gravação de tela de três segundos a 30 quadros por segundo são noventa arquivos, a maioria dos quais difere do vizinho por um cursor que andou quatro pixels. Escolher um subconjunto costuma ser mais rápido e mais útil, e a contagem da seleção aparece antes de qualquer execução, então não há o que adivinhar.

As quatro formas de selecionar

  • Todos os quadros. O padrão. Certo quando a animação é curta, ou quando você realmente precisa de todos.
  • Um intervalo. Dois números, ambos incluídos. A escolha natural quando o que interessa é um trecho de um clipe mais longo. As duas caixas são limitadas pela contagem real de quadros, então não dá para pedir um que não existe.
  • Um a cada N. Um a cada dois, três, quatro e assim por diante. É assim que se transforma uma gravação longa numa folha de contatos com uma dúzia de imagens representativas sem escolhê-las à mão.
  • Uma lista digitada. Números avulsos e intervalos juntos, como 1, 3, 5-9. Intervalos digitados ao contrário são lidos como os quadros entre eles, duplicados se fundem, e a saída sai sempre em ordem de reprodução, seja qual for a ordem em que você digitou. O que não puder ser lido é nomeado em vez de ignorado em silêncio.

Por que o limite gratuito está na SAÍDA

A maioria das ferramentas com plano gratuito limita o arquivo que se pode abrir. Esse é o eixo errado para esta: recusaria de saída uma gravação de 300 quadros, inclusive de alguém que só queria cinco quadros do meio. Aqui o limite é sobre quantos quadros você EXTRAI de uma vez — sessenta no plano gratuito — então qualquer animação é bem-vinda e o limite é algo que a sua própria seleção pode satisfazer. Quando uma seleção passa da linha, a ferramenta avisa antes de começar, diz o número real e oferece um botão que ajusta a seleção. O Pro remove o limite e aceita até vinte animações de uma vez.

Folhas de sprites, na mesma execução

Uma folha de sprites são os mesmos quadros dispostos numa imagem só em vez de em várias, e é o que costuma querer um motor de jogo, uma animação em CSS ou uma figura de documentação. Ativá-la produz a folha AO LADO dos quadros individuais e não no lugar deles, porque as duas coisas são querem juntas com frequência suficiente para que escolher seja um incômodo.

A disposição

  • Colunas automáticas. Deixe as colunas em zero e os quadros são arrumados numa grade quase quadrada: nove quadros dão três por três, dez dão quatro por três. A última linha ficar curta é normal.
  • Uma tira. Uma coluna dá uma tira vertical e tantas colunas quanto quadros dá uma única linha horizontal. As duas são comuns em animação CSS com sprites, onde a posição do fundo se move num único eixo.
  • Espaçamento. Um vão entre as células, em pixels, para motores que amostram um pouco fora da célula e pegariam a borda do quadro vizinho. O vão entra só entre células, nunca em volta, para que a conta de localizar uma célula continue simples.
  • Segue a seleção. A folha contém os quadros selecionados, não a animação toda: um a cada três de oito dá uma folha de três células, e um intervalo dá uma folha desse intervalo.

Remontar a animação

Dividir costuma ser metade do trabalho. A outra metade é remontar, e é aí que quase todo extrator falha sem dizer: entrega uma pasta de imagens e joga fora a única coisa que as tornava uma animação. Um GIF guarda um atraso para cada quadro de forma independente, e as animações reais usam isso — uma pose sustentada por um segundo, depois seis quadros de 40 milissegundos cada. Remontar só a partir dos quadros obriga a adivinhar uma taxa única, que não reproduz isso.

O arquivo de tempos

Todo arquivo compactado desta ferramenta traz, junto aos quadros, um pequeno arquivo separado por vírgulas com o número de cada quadro, o seu nome de arquivo, o seu próprio atraso em milissegundos e o seu instante de início dentro da animação. São algumas centenas de bytes e são a diferença entre uma pasta de imagens e uma animação que você pode refazer. Devolva os quadros e esses atrasos ao Criador de GIF e o resultado toca exatamente como o original. Os atrasos são lidos da origem e repassados sem retoque: os mesmos números com que a animação foi criada, não uma média nem uma taxa arredondada.

Resultados medidos

Todos os números abaixo vêm do próprio conjunto de testes desta ferramenta no dispositivo de referência e podem ser reproduzidos executando-o. Quando uma afirmação é sobre correção e não sobre velocidade, ela é verificada contra uma biblioteca de imagem independente que não compartilha código com esta ferramenta, então a comparação não é a nossa saída julgada contra a nossa saída anterior.

Os números

  • Desempenho Uma animação de 100 quadros em 480 por 270 vira 100 arquivos PNG em 512 ms, ou 100 JPG em 155 ms. Um GIF de reação típico de oito quadros leva 2 ms.
  • Tamanho de arquivo Esses 100 quadros PNG somam 3,0 MB. Os mesmos quadros pelo codificador PNG do navegador somam 7,7 MB — 2,59 vezes mais, com pixels verificados como idênticos.
  • Identidade do quadro Cada arquivo exportado é comparado com o quadro de origem cujo número ele carrega, pixel a pixel, por um decodificador independente. A comparação é de igualdade, não de tolerância: exportar em PNG um quadro decodificado é sem perdas dos dois lados, então não há nada a permitir.
  • Folha de sprites Uma folha de 100 células em 4800 por 2700 é construída e escrita em 926 ms, na mesma execução dos quadros individuais.
  • Seleção Escolher quais quadros manter não custa nada: é aritmética de índices, então os quadros que você não pediu nunca são codificados.

O que entra e o que sai

A lista de entrada é fechada e é aplicada na caixa de seleção de arquivos, não no motor, então um arquivo que esta ferramenta não abre é recusado em milissegundos com um caminho para a ferramenta que abre — em vez de ser aceito e falhar depois atrás de um indicador de carregamento.

  • GIF na entrada. Animado ou de um único quadro, entrelaçado ou não, com paleta global ou uma paleta local diferente em cada quadro. Quadros que são sub-retângulos posicionados são compostos sobre a tela completa antes de qualquer escrita.
  • WebP animado e APNG na entrada. Ambos são lidos pelos nossos próprios demultiplexadores em todo navegador, e não por um decodificador nativo, então a contagem de quadros e os tempos são idênticos em toda parte em vez de depender do navegador que você usa.
  • Imagens paradas na saída. PNG, JPG, WebP ou GIF de um quadro, um arquivo por quadro, mais uma folha de sprites opcional e um arquivo de tempos no arquivo compactado.
  • Qualquer outra coisa é recusada com um caminho. Um vídeo vai para Vídeo para GIF; uma fotografia parada para o Criador de GIF. A recusa diz o que o arquivo é, o que esta ferramenta aceita e para onde ir.

Como a animação é lida

O GIF é decodificado nativamente onde o navegador tem um decodificador para isso e pelo nosso próprio leitor em todos os outros casos, então uma animação abre igual em todos os navegadores em vez de chegar como o seu primeiro quadro sem erro nenhum — que é o que acontece em vários navegadores sem essa alternativa. WebP animado e APNG sempre passam pelo nosso leitor, o que mantém a contagem de quadros e os tempos idênticos entre motores. A ferramenta informa qual leitor rodou, então uma diferença entre navegadores aparece como um fato e não como um mistério.

Limites dos planos

  • Grátis. Uma animação de até 50 MB e até 60 quadros extraídos por execução. Em qualidade plena — o plano gratuito não é uma extração de qualidade reduzida, é um lote menor. Qualquer duração de animação é aceita; o limite está na seleção, e os controles de seleção existem para satisfazê-lo.
  • Pro. Até 20 animações por vez e sem limite de quadros, baixadas juntas num único arquivo. O lote é o que o Pro compra aqui, porque extrair quadros de uma pasta de clipes um a um é a verdadeira tarefa chata.
  • O limite que os dois planos compartilham. Cada quadro é expandido para cor completa enquanto é trabalhado, então um orçamento de memória limita o trabalho antes de começar, em vez de deixar a aba parar de responder enquanto o indicador continua girando.

O que acontece no seu dispositivo

Nada é enviado. A animação é decodificada quadro a quadro na sua própria máquina, cada quadro é composto sobre a tela completa, os quadros selecionados são codificados e o arquivo compactado é construído — tudo num thread em segundo plano, para que a página continue desenhando enquanto o trabalho acontece. A ferramenta funciona com a rede desconectada depois que a página carrega, e os nossos próprios testes registram cada requisição de rede durante uma execução e exigem que a lista esteja vazia.

Por que a mesma animação se divide igual sempre

  • Nada aleatório. Nenhuma etapa do caminho usa um algoritmo aleatório, então a mesma animação com os mesmos ajustes produz sempre arquivos idênticos byte a byte. É isso que torna possível testar a saída.
  • O codificador se identifica. O resultado registra qual decodificador leu a animação e qual dos dois escritores PNG produziu os bytes, então uma troca silenciosa aparece como um fato declarado e não como uma variação inexplicada de tamanho.
  • Verificado contra outra implementação. Identidade dos quadros, contagem, tamanhos e tempos são todos verificados com libvips, uma biblioteca de imagem completamente separada, e não contra a nossa própria saída anterior.

Os quadros são compostos e escalados no seu hardware gráfico onde o seu dispositivo permite, e todo o trabalho acontece num thread em segundo plano para que a página continue respondendo. Medido no dispositivo de referência: uma animação de 100 quadros em 480 por 270 vira 100 arquivos PNG em 512 ms, somando 3,0 MB contra os 7,7 MB que o codificador do navegador produz para os mesmos pixels. Tudo roda no seu dispositivo, não nos nossos servidores.

Perguntas frequentes

Para qual formato devo extrair os quadros de um GIF?

PNG, a menos que haja um motivo contrário. Um quadro de GIF é uma imagem de paleta com no máximo 256 cores, e o PNG guarda essas cores exatamente: o quadro exportado é pixel a pixel o que a animação mostrava, com a transparência intacta. JPG só é a escolha certa quando você extrai muitos quadros de material fotográfico e o tamanho importa mais do que a fidelidade, porque o JPG não guarda transparência e acrescenta artefatos em volta de cada borda dura. WebP fica entre os dois. A saída GIF existe para quando você quer que cada quadro continue sendo uma imagem de paleta pronta para voltar a outra animação.

Os quadros saem na ordem certa?

Sim, e a numeração torna isso verificável. Cada arquivo leva a sua posição na animação ORIGINAL, não a posição dentro da sua seleção: pegar um a cada três quadros de um GIF de oito dá arquivos numerados 001, 004 e 007, e não 001, 002 e 003. Os números vêm com zeros à esquerda para que qualquer gerenciador de arquivos os ordene corretamente, e o preenchimento cresce em animações com mais de 999 quadros.

Posso extrair só alguns quadros?

De quatro maneiras. Todos os quadros é o padrão. Um intervalo pega tudo entre dois números. Um a cada N pega um a cada dois, três, quatro e assim por diante — útil para transformar uma gravação de tela longa numa mão-cheia de imagens representativas. E uma lista digitada aceita números e intervalos juntos, então 1, 3, 5-9 dá sete quadros específicos. A contagem da seleção aparece antes de qualquer execução.

Por que as áreas transparentes ficam pretas em outras ferramentas?

Porque o JPG não tem transparência alguma, e um pixel transparente desenhado sobre uma tela intocada é preto. A maioria dos extratores escreve JPG sem fazer nada a respeito, então um sticker ou um logotipo com fundo transparente acaba dentro de uma caixa preta. Aqui é pintada uma cor de fundo sob cada quadro antes de escrever JPG ou qualquer formato opaco, e o padrão é branco. Você pode escolher preto se for o que quer.

Como monto a animação de volta depois?

O arquivo compactado traz um arquivo de tempos junto aos quadros, listando o número de cada um, o seu nome de arquivo, o seu atraso em milissegundos e o seu instante de início na animação. É exatamente isso que todos os outros extratores jogam fora — e sem isso a única forma de remontar uma animação é adivinhar uma taxa única, o que é errado em qualquer GIF com tempos irregulares, e a maioria tem. Devolva os quadros e esses atrasos ao Criador de GIF e você recupera a animação original.

Posso fazer uma folha de sprites em vez de arquivos separados?

Você pode ter as duas coisas, na mesma execução. Ative a folha de sprites e os quadros selecionados são dispostos numa única imagem ao lado dos arquivos individuais. Deixe as colunas em automático para uma grade quase quadrada, ou defina-as: uma coluna dá uma tira vertical, e tantas colunas quanto quadros dá uma única linha horizontal. Há um controle de espaçamento entre as células, que alguns motores querem e outros não.

Quantos quadros posso extrair de uma vez?

O plano gratuito exporta 60 quadros por execução, o que cobre inteiro um GIF de reação ou dois segundos de uma gravação a 30 quadros por segundo. O limite é sobre o que você EXTRAI, não sobre o que abre: uma gravação de 300 quadros é perfeitamente bem-vinda no plano gratuito, e você a pega de 60 em 60, ou pega um a cada cinco, ou fica só com o trecho de que precisa. Se a seleção for grande demais, a ferramenta avisa antes de começar, com um botão que a ajusta para você. O Pro remove o limite e aceita até 20 animações de uma vez.

Os quadros extraídos têm a mesma qualidade do original?

Com saída PNG são idênticos. Nada é reamostrado, requantizado ou recomprimido: o quadro é decodificado, composto sobre a tela completa da animação e escrito sem perdas. E nós verificamos isso em vez de afirmar: cada arquivo exportado é comparado pixel a pixel com o quadro de origem cujo número ele carrega, usando uma biblioteca de imagem independente que não compartilha código com esta ferramenta. JPG e WebP são com perdas por natureza e têm controle de qualidade; o controle de escala é a única outra coisa que muda um pixel, e ele só reduz, nunca amplia.

Por que os meus PNG saem menores aqui do que em outras ferramentas?

Porque a maioria das ferramentas entrega o quadro ao codificador PNG do navegador, que está configurado para velocidade e não aplica nenhuma filtragem de linha. Esta escreve o PNG ela mesma e escolhe a estratégia de filtragem de cada animação codificando o primeiro quadro das duas formas e ficando com o menor. Medido numa animação de 100 quadros em 480 por 270: 3,0 MB contra 7,7 MB — os mesmos pixels, verificados como idênticos, em menos da metade do download.

Qual é a diferença entre isto e o conversor de GIF para PNG?

O conversor de GIF para PNG transforma uma imagem em outra imagem: um arquivo entra, um arquivo sai, e de uma animação ele dá o primeiro quadro. Esta ferramenta é para a animação em si: todos os quadros separadamente, numerados, com tempos e selecionáveis. Use o conversor quando tiver um GIF parado que quer como PNG; use esta página quando quiser ver, editar ou reaproveitar o que há dentro de uma animação. Com o conversor de GIF para JPG a relação é a mesma.

Posso dividir um GIF em vários GIFs mais curtos?

Isso é outro trabalho e mora no cortador de GIF, não aqui. A saída desta ferramenta são imagens paradas — um quadro, um arquivo — e toda a sua forma decorre disso: o limite de quadros, a lista de formatos, a folha de sprites, o arquivo de tempos. Partir uma animação em animações mais curtas é uma seleção de intervalo aplicada mais de uma vez, que é exatamente o que um cortador já faz, e misturar as duas coisas duplicaria a matriz de formatos por uma função que nenhum dos dois públicos pede na outra ferramenta.

Alguma coisa é enviada para um servidor?

Não. A animação é decodificada e cada quadro é codificado no seu próprio dispositivo, num thread em segundo plano para que a página continue respondendo enquanto trabalha. Nada é enviado, nada é armazenado, e a ferramenta funciona com a rede desconectada depois que a página carrega. Isso é verificado nos nossos próprios testes registrando cada requisição de rede durante uma execução e exigindo que a lista esteja vazia.