IA no seu dispositivo — profissional e privado.

Cortar GIF

Corte GIF por quadro ou tempo — sem recodificar os quadros mantidos.

  • Sem envio
  • Corte sem perdas
  • Por quadro ou por tempo
  • Manter, remover ou dividir

Solte um GIF aqui

GIF, WebP animado ou APNG

O que cortar
O que cortar

Mantenha a seleção, remova-a, ou divida a animação inteira.

Seleção
Medido em

Arraste os marcadores na linha do tempo, ou digite números exatos.

Como cortar um GIF

Apare um GIF animado até deixar só a parte que você quer, pelo número do quadro ou pelo tempo, sem alterar os quadros mantidos.

  1. 1

    Adicione sua animação

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

  2. 2

    Arraste os dois marcadores

    A linha do tempo é montada com os próprios quadros da animação, então dá para ver o que você está selecionando. Arraste qualquer um dos marcadores, ou digite números exatos nas duas caixas — é a mesma seleção, medida em quadros ou em segundos.

  3. 3

    Escolha manter, remover ou dividir

    Mantenha o trecho entre os marcadores, remova esse trecho e junte o que sobrar, ou ignore os marcadores e divida a animação inteira em várias mais curtas.

  4. 4

    Corte e salve

    O resultado é reproduzido na tela com a contagem de quadros e a duração reais, e o cartão informa se os quadros foram copiados ou reconstruídos. Salve o arquivo, ou leve todas as partes de uma divisão em um único arquivo compactado.

Por que cortar um GIF

A maioria das animações que chegam até você é mais longa do que a parte que você quer. Um GIF de reação tem três segundos de preparação antes do momento que faz graça. Uma gravação de tela captura quarenta segundos de você procurando o botão e quatro segundos do bug. Um laço que alguém te mandou começa meio tempo atrasado, então nunca fecha direito. Cortar é a edição mais comum de que uma animação precisa, e também é a mais fácil de fazer mal — porque o jeito óbvio de fazer altera todo quadro que você estava tentando manter.

Arraste dois marcadores sobre os próprios quadros da animação para manter um trecho, remover um do meio, ou dividir tudo em várias animações mais curtas.

Lê GIF, WebP animado e APNG. Escreve GIF. Os quadros mantidos são copiados do arquivo original quando a estrutura dele permite, então as cores, a transparência e os atrasos de cada quadro não mudam.

Para que serve um corte, normalmente

  • Aparar a entrada. Tirar o primeiro segundo para que o laço comece no movimento, que é o que faz uma animação curta parecer proposital em vez de um trecho solto.
  • Ficar abaixo de um limite de tamanho. Um aplicativo de mensagens, um fórum ou uma assinatura de e-mail com limite de tamanho de arquivo. Remover quadros é de longe a forma mais barata de encolher uma animação e, diferente de baixar a contagem de cores, não custa absolutamente nada nos quadros que sobram.
  • Tirar a parte morta. Uma gravação em que nada acontece entre dois trechos úteis. Remover o meio e juntar as pontas é uma operação diferente de aparar as pontas, e a maioria das ferramentas não oferece isso.
  • Quebrar um clipe longo em pedaços. Uma captura longa dividida em partes que cabem em um limite de duração, ou em etapas para documentação, cada uma sendo uma animação funcional em vez de uma pasta de imagens.

Cortar não precisa custar nada a você

Esta é a parte que vale entender, porque é o que separa esta ferramenta de todas as outras da categoria, e porque o motivo é simples assim que é dito em voz alta. Um corte remove quadros. Ele não altera os quadros que mantém. Logo, não há razão para os quadros mantidos saírem diferentes de como entraram — e mesmo assim, em todo outro cortador de GIF online, eles saem.

O que uma cópia faz de verdade

  • Um GIF é uma lista de blocos. Um cabeçalho, uma tabela de cores e depois um bloco por quadro contendo a posição daquele quadro, a paleta própria dele se houver, o atraso dele e os dados de imagem comprimidos. Nada no bloco de um quadro depende da duração do arquivo.
  • Então remover quadros é remover trechos. Os quadros mantidos são copiados do arquivo original exatamente como estão — as mesmas paletas, os mesmos dados comprimidos, a mesma transparência, os mesmos deslocamentos. Só o campo de atraso de cada quadro é escrito de novo, porque esse é o único número que um corte tem permissão de mudar.
  • Nada é decodificado. A ferramenta lê a estrutura do arquivo e copia bytes. Ela decodifica exatamente um quadro, e só para que a página tenha algo para te mostrar. É por isso que o caminho de cópia é mais de dez vezes mais rápido que a alternativa.
  • Então o resultado não é "visualmente idêntico". São os mesmos pixels. Nossos testes decodificam a saída e a origem com uma biblioteca de imagem separada e exigem que a maior diferença em qualquer canal de cor de qualquer pixel seja 0 de 255 — igualdade, não tolerância.

O que a recodificação custa a você

A alternativa — a que toda ferramenta concorrente adota — é decodificar a animação inteira, escolher 256 cores de novo a partir do que encontrar, mapear cada pixel para essa nova paleta, recalcular que partes de cada quadro mudaram e escrever um arquivo novo. Cada uma dessas etapas perde algo em pequena medida, e elas se acumulam ao longo de edições repetidas. Medido no nosso próprio arquivo de referência, com um codificador de uso geral fazendo o papel desse caminho, os mesmos três quadros voltam com canais de cor até quatro passos distantes de onde começaram. Quatro de 255 não é uma catástrofe em uma passagem; é também uma alteração que ninguém pediu, em um trabalho que não tinha motivo para fazer nenhuma, e é na terceira ou quarta passagem que ela aparece.

Quando a cópia não é possível

Um quadro em um GIF não é obrigado a ser a imagem inteira. O formato permite que um quadro seja um retângulo de qualquer tamanho em qualquer deslocamento, e permite que ele marque pixels como transparentes para dizer "o que já está na tela aqui continua correto". É assim que uma gravação de tela de uma janela quase parada comprime tão bem: o quadro um é a janela inteira e os quadros seguintes são pequenos remendos. Se o seu corte começa em um quadro de remendo, copiar só o bloco dele produziria um arquivo mostrando aquele remendo sobre uma tela vazia — um GIF válido, um download funcional e a imagem errada. Por isso a ferramenta reconstrói: ela compõe cada quadro sobre a tela inteira primeiro e depois escreve tudo. Mesmo assim ela monta a paleta com as cores que aqueles quadros realmente contêm em vez de escolher cores novas, então o resultado continua exato. O cartão de resultado sempre diz qual dos dois aconteceu.

Quadros ou segundos — e como um tempo vira um quadro

Um GIF não tem linha do tempo. Ele tem uma lista de quadros, e cada quadro carrega o próprio atraso em centésimos de segundo. Tudo o que uma linha do tempo mostra é derivado da soma desses atrasos, e é por isso que dois GIFs com a mesma duração podem ter contagens de quadros completamente diferentes, e por que um tempo que você digita precisa ser transformado em um conjunto de quadros antes que algo possa ser cortado.

A regra que esta ferramenta usa

Um intervalo de tempo seleciona todo quadro que está na tela durante ele. Se o quadro quatro vai de 0,60 s a 1,60 s e você pede para manter de 0,60 s a 1,70 s, você recebe os quadros quatro, cinco e seis — toda imagem que você poderia ter visto nesse intervalo. A alternativa mais conhecida documenta a regra oposta, arredondando para a próxima fronteira de quadro, o que descarta silenciosamente a imagem que estava na tela no instante para o qual você apontou. As duas são defensáveis; só uma delas nunca perde algo que você pediu, e a diferença só aparece em uma animação com atrasos irregulares, que é a maioria delas.

Em que unidade trabalhar

  • Quadros, quando você quer exatidão. Os números de quadro começam em 1 e são inclusivos, então de 3 a 6 mantém quatro quadros. Esta é a unidade para usar quando você está cortando até uma imagem específica — o instante em que a expressão aparece, o quadro antes de o artefato surgir.
  • Segundos, quando você está acompanhando outra coisa. Um limite de duração, uma batida, uma legenda que precisa ficar na tela. As caixas aceitam duas casas decimais e a linha do tempo acompanha.
  • É uma seleção só. Trocar a unidade converte os números em vez de reinterpretá-los, então os quadros de 3 a 6 viram os segundos que esses quadros ocupam, e voltar cai de novo em 3 a 6. Um controle que silenciosamente transformasse "quadro 3" em "3 segundos" seria uma seleção que você nunca fez.
  • As caixas e os marcadores concordam. Arrastar um marcador escreve o número na caixa, na unidade que estiver aparecendo. Não existe um estado de arraste separado, então a imagem e os números nunca podem discordar sobre o que vai ser cortado.

Manter, remover ou dividir

Três coisas que as pessoas querem dizer com "cortar um GIF", e a maioria das ferramentas implementa só a primeira. Todas são a mesma operação por baixo — escolher que quadros sobrevivem — então não há razão para mandar ninguém para outra página por causa das outras duas.

  • Manter a seleção. O corte comum. Tudo entre os dois marcadores sobrevive e tudo fora deles sai. É isso que um corte significa quando ninguém diz o contrário, e é o padrão.
  • Remover a seleção. O inverso. A faixa entre os marcadores é o que sai, e o que fica dos dois lados é unido em uma só animação. A linha do tempo pinta a faixa de vermelho para deixar óbvio em que sentido você está trabalhando.
  • Dividir em partes. Ignore os marcadores por completo: a animação inteira é dividida em várias animações mais curtas, por um número de partes iguais, por quadros por parte ou por segundos por parte. Cada parte é uma animação de verdade com tempos próprios, e todas baixam juntas em um único arquivo compactado.

Como as partes são divididas

Uma divisão igual é tão igual quanto quadros inteiros permitem. Vinte quadros em três partes dá sete, sete e seis — o resto é espalhado pelas primeiras partes em vez de despejado na última, que é o que faz um conjunto de partes parecer proposital em vez de irregular. Dividir por quadros por parte dá partes com exatamente essa quantidade e uma mais curta no fim; dividir por segundos corta pelo relógio da própria animação, então a fronteira de uma parte cai entre quadros e não dentro de um. Em todos os modos as partes somam de volta a origem exatamente: nenhum quadro é duplicado e nenhum se perde, e a duração total das partes é igual à duração da animação com que você começou.

  • GIF splitter — one animation in, a folder of still pictures out, one per frame. Use it when you want the images; use this page when you want shorter animations.
  • GIF speed changer — the other way to make an animation shorter, by re-timing it rather than by removing frames. Use it when every frame has to stay and only the pace is wrong.

O que acontece com os tempos

Um corte tem um trabalho óbvio e um em que ninguém pensa até dar errado. O óbvio é escolher quadros. O outro é não alterar os tempos da animação ao fazer isso — e, como um GIF guarda um atraso por quadro, há várias maneiras de errar isso sutilmente e ainda assim produzir um arquivo que toca.

As três regras de tempo

  • Um quadro mantido mantém o próprio atraso. O quadro sete tinha 40 milissegundos de atraso antes do corte, então tem 40 milissegundos de atraso depois dele. Isso soa óbvio demais para ser dito, e é exatamente o que uma ferramenta quebra quando reconstrói uma animação em uma taxa de quadros presumida.
  • A duração de saída é a soma do que você manteve. Não a duração da origem, nem uma proporção dela. O número no cartão de resultado é somado a partir dos atrasos dos quadros do arquivo que você está prestes a baixar.
  • Só Manter altera um atraso. E altera exatamente um: o quadro na emenda de um trecho removido, que é estendido exatamente pelo tempo que foi removido. Todo o resto passa intocado.

Encurtar ou manter, quando você remove um trecho

Remover dois segundos do meio de uma animação de cinco segundos deixa três segundos de imagens, e você precisa decidir o que acontece com os dois segundos. Encurtar é o padrão honesto: a animação agora tem três segundos. Manter conserva os cinco deixando o quadro anterior à lacuna na tela pelo tempo que falta, então a animação continua levando o mesmo tempo que levava — a pausa fica visível, mas a cadência é preservada. Isso importa mais vezes do que parece: um laço sincronizado com uma transição de página, uma contagem regressiva que precisa manter a duração, uma animação em um layout ao lado de outra. Só uma ferramenta online desta categoria expõe essa escolha, e nenhuma para instalar que conheçamos faz isso.

As repetições, e o bloco que se perde

Um GIF guarda quantas vezes ele é reproduzido em um pequeno bloco de aplicação perto do começo do arquivo. É fácil de passar batido, e é guardado de um jeito estranho: o número no arquivo é quantas vezes REPETIR depois da primeira reprodução, e zero significa para sempre — então "tocar exatamente uma vez" não pode ser escrito como número nenhum, e é expresso pela ausência do bloco.

O que isso significa na prática

  • Um corte precisa levar isso adiante. Uma animação aparada que toca uma vez e para, quando a original repetia, está quebrada do jeito que as pessoas percebem por último — normalmente depois de já estar publicada em algum lugar.
  • Reconstruir obriga a escrever o bloco do zero. O caminho de reconstrução monta um arquivo novo, então o bloco é escrito e não copiado. Errar o mais-um-menos-um ali transforma "toca três vezes" em "toca quatro vezes", que é exatamente o tipo de erro que sobrevive a uma revisão.
  • Um resultado de um quadro não tem repetição. Cortar até sobrar um único quadro produz uma imagem estática, e uma imagem estática com bloco de repetição é uma contradição. O bloco é deixado de fora.
  • Isso é testado em três arquivos ao mesmo tempo. Um que repete para sempre, um que toca três vezes, um que toca uma vez — pelo caminho de cópia e pelo caminho de reconstrução, com a repetição lida de volta do arquivo pronto por uma biblioteca separada.

Por que o quadro doze às vezes precisa do quadro onze

Este é o mecanismo por trás de quase tudo acima, e vale um parágrafo porque explica por que um corte é às vezes uma cópia e às vezes não, e por que cortar um GIF em uma ferramenta ingênua pode produzir um arquivo que parece quebrado de um jeito que você não consegue explicar.

Quando um GIF é escrito bem, cada quadro guarda só o que mudou desde o quadro anterior. O resto é marcado como transparente, o que o formato define como "deixe o que já está aí". É por isso que uma gravação de tela de 200 quadros de uma janela quase parada pode ser menor que uma animação de 20 quadros de algo que se mexe. Isso também significa que a maior parte dos quadros no meio de um arquivo assim não faz sentido sozinha. Um cortador que começa uma animação nova em um deles produz exatamente o que você esperaria: um pequeno remendo flutuando sobre uma tela vazia, em um arquivo que abre perfeitamente.

O que esta ferramenta faz a respeito

  • Ela verifica antes de copiar. Um quadro pode abrir uma animação sozinho se cobrir a tela inteira e não declarar transparência. Toda sequência de quadros que um corte produz precisa começar com um desses, ou a cópia é recusada em vez de tentada.
  • A verificação é no arquivo, não em um palpite. Ela lê o retângulo do quadro e o sinalizador de transparência dele direto do arquivo — alguns bytes, sem decodificar. A verificação é deliberadamente conservadora: um quadro que declara uma cor transparente mas nunca a usa perde uma cópia que poderia ter tido, o que custa uma reconstrução em vez de custar a você um arquivo quebrado.
  • Uma divisão decide parte por parte. A primeira parte de uma divisão normalmente começa no quadro um e pode ser copiada; as partes seguintes muitas vezes não podem. A ferramenta copia as que dá e reconstrói só as que precisa, em vez de arrastar o trabalho inteiro para o caminho mais lento.
  • E ela te avisa. O cartão de resultado nomeia o caminho que rodou. Uma ferramenta que recodificasse em silêncio depois de prometer que não faria isso pareceria idêntica por fora, e é por isso que o caminho é informado em vez de presumido.

Resultados medidos

Todo número abaixo vem do próprio pacote de testes desta ferramenta no dispositivo de referência e é reproduzível executando esse pacote. Quando uma afirmação é sobre correção e não sobre velocidade, ela é conferida contra uma biblioteca de imagem separada que não compartilha código nenhum com esta ferramenta, então a comparação não é a nossa saída julgada contra a nossa própria saída anterior.

Os números

  • Qualidade Tanto no caminho de cópia quanto no de reconstrução, a maior diferença em qualquer canal de cor de qualquer pixel entre a saída e o quadro de origem correspondente é 0 de 255. Os mesmos quadros passados por um codificador de uso geral voltam a até 4 de 255 de distância.
  • Velocidade Copiar é mais de dez vezes mais rápido do que reconstruir o mesmo corte no mesmo arquivo, medido com os dois intercalados para que uma máquina ocupada não favoreça um deles.
  • Trabalho evitado Uma cópia decodifica exatamente um quadro da animação, qualquer que seja a duração dela — verificado, não estimado. Uma animação de 100 quadros é aparada sem nunca descomprimir 99 dos quadros dela.
  • Tempos Os atrasos de cada quadro passam sem alteração e a duração total da saída é a soma dos atrasos mantidos, lida de volta do arquivo pronto e não do plano que o gerou.
  • Remontagem As partes de uma divisão somam de volta a origem exatamente: a mesma contagem de quadros e a mesma duração total, sem nenhum quadro duplicado e nenhum perdido.

O que entra e o que sai

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

  • GIF entra, GIF sai. Animado ou de quadro único, entrelaçado ou não, com uma paleta só ou uma paleta diferente em cada quadro. Este é o caso em que os quadros mantidos são copiados em vez de recodificados.
  • WebP animado e APNG entram. Os dois são lidos pelos nossos próprios leitores em qualquer ambiente, e não por um decodificador nativo, então as contagens de quadros e os tempos são idênticos em todo lugar. Eles saem como GIF, o que é uma conversão em qualquer ferramenta que faça isso.
  • Uma animação sai, ou várias. Manter e Remover produzem um arquivo. Dividir produz um por parte, cada um uma animação funcional, que pode ser baixado individualmente ou junto com os outros em um arquivo compactado.
  • Qualquer outra coisa é recusada com um caminho. Um vídeo é encaminhado para Vídeo para GIF; uma foto estática para o Criador de GIF. A recusa diz o que o arquivo é, o que esta ferramenta aceita e para onde ir em vez disso.

Como a animação é lida

No caminho de cópia a animação quase não é lida: a ferramenta percorre a estrutura de blocos do arquivo, que são algumas centenas de bytes de cabeçalhos com prefixo de tamanho, e nunca descomprime uma imagem. No caminho de reconstrução, o GIF é decodificado de forma nativa onde há um decodificador do sistema e pelo nosso próprio leitor em todo o resto, então uma animação abre do mesmo jeito em qualquer ambiente em vez de chegar como o primeiro quadro dela sem nenhum erro — que é o que acontece em vários ambientes sem esse plano B. WebP animado e APNG sempre usam os nossos próprios leitores. A ferramenta informa qual leitor rodou, então uma diferença entre ambientes aparece como um fato e não como um mistério.

Limites dos planos

  • Gratuito. Uma animação de até 200 MB e até 300 quadros, com qualidade total. O plano gratuito não é um corte de qualidade reduzida — é exatamente a mesma saída, em um lote menor.
  • Pro. Até 20 animações por vez sem limite de quadros, cortadas de uma só vez e baixadas juntas em um arquivo compactado. Lote é o que o Pro compra aqui, porque aparar uma pasta de clipes um a um é a chatice de verdade.
  • O limite que os dois planos compartilham. No caminho de reconstrução cada quadro é expandido para cor completa enquanto está sendo trabalhado, então um orçamento de memória limita o trabalho antes de ele começar, em vez de deixar a aba parar de responder enquanto um anel de progresso continua girando. O caminho de cópia não tem esse limite, porque nunca expande nada.

O que acontece no seu dispositivo

Nada é enviado. O arquivo é lido na sua própria máquina, os quadros mantidos são copiados ou reconstruídos ali, e o resultado vai direto para os seus downloads — tudo em uma thread em segundo plano, então a página continua desenhando enquanto o trabalho acontece. A ferramenta funciona com a rede desconectada depois que a página carregou, e nossos próprios testes registram cada requisição de rede feita durante uma execução e exigem que a lista esteja vazia.

Por que o mesmo corte produz o mesmo arquivo toda vez

  • Nenhuma aleatoriedade em lugar nenhum. Nada em nenhum dos dois caminhos usa um algoritmo aleatorizado, então a mesma animação com as mesmas configurações sempre produz uma saída idêntica byte a byte. É isso que torna possível testar o resultado.
  • A saída se reporta. Cada arquivo registra se foi copiado ou reconstruído, e se os pixels dele são exatos. Uma troca silenciosa de caminho aparece como um fato declarado em vez de uma mudança inexplicada no tamanho do arquivo.
  • Conferido contra outra implementação. Identidade dos quadros, contagens de quadros, atrasos, durações totais e contagens de repetição são todos verificados com o libvips — uma biblioteca de imagem completamente separada — e não contra a nossa própria saída anterior.
  • A cópia também é conferida contra ela mesma. Depois de cada cópia a ferramenta compara os dados de imagem comprimidos do arquivo que acabou de escrever com os mesmos trechos da origem, byte a byte. Essa checagem não pode falhar, que é justamente por que ela é barata de rodar em todo corte e por que uma mudança futura que quebrasse a garantia falharia aqui em vez de ir para produção.

No caminho de cópia um corte nunca decodifica uma imagem: a ferramenta lê a estrutura do arquivo e copia os quadros mantidos, então aparar uma animação de 100 quadros decodifica exatamente um quadro e termina em milissegundos de um dígito. Quando o arquivo precisa ser reconstruído, o trabalho roda em uma thread em segundo plano usando o hardware gráfico quando o seu dispositivo suporta isso, então a página continua respondendo. Tudo roda no seu dispositivo, não nos nossos servidores.

Perguntas frequentes

Cortar um GIF reduz a qualidade dele?

Aqui não, no caso que importa. Todo outro cortador de GIF online desmonta a animação e escreve um arquivo novo, o que significa que as cores são escolhidas uma segunda vez e cada quadro é comprimido de novo — medido contra uma ferramenta popular, um corte de oito quadros voltou totalmente recodificado, com um comentário carimbado dentro do arquivo. Esta ferramenta copia os quadros mantidos diretamente do original: as paletas, os dados de imagem comprimidos, a transparência e os deslocamentos deles são os mesmos bytes de antes. Nós verificamos isso em vez de apenas afirmar, decodificando a saída e a origem com uma biblioteca de imagem separada e exigindo que a maior diferença em qualquer canal de cor de qualquer pixel seja 0 de 255.

Posso cortar por segundos em vez de números de quadro?

Pode, e os dois são a mesma seleção mostrada em unidades diferentes — alternar entre elas converte os números em vez de reinterpretá-los, então você volta exatamente para onde estava. Um GIF não tem linha do tempo própria, só uma lista de quadros, cada um exibido pelo seu próprio atraso, então um tempo precisa virar um conjunto de quadros. A regra aqui é que um intervalo de tempo seleciona todo quadro que está na tela durante ele. Peça para manter de 0,6 s a 1,7 s e você recebe toda imagem que poderia ter visto nesse segundo e pouco — e não uma a menos no início, que é o que o arredondamento para a próxima fronteira de quadro faz.

Posso tirar um trecho do MEIO de um GIF?

Pode. Mude o modo para Remover e a faixa entre os dois marcadores é o que sai: tudo antes dela e tudo depois dela são unidos em uma só animação. Nenhum outro cortador de GIF oferece isso na mesma ferramenta — o mais conhecido manda você para um editor de quadros separado, e a principal alternativa que roda localmente tem uma página diferente para isso. É a mesma seleção, lida ao contrário, então a linha do tempo mostra exatamente o que está prestes a desaparecer.

Quando eu removo um trecho, a animação fica mais curta?

A escolha é sua, e isso é um controle e não uma suposição. Encurtar é o padrão: a animação perde exatamente o tempo que você removeu. Manter conserva a duração total somando o tempo removido ao quadro que fica na emenda, então a imagem anterior ao corte permanece na tela durante a lacuna. Manter é o que você quer quando a animação precisa preservar a cadência — um laço sincronizado com outra coisa em um layout, ou uma contagem regressiva que precisa continuar com a mesma duração. Encurtar é o que você quer no resto das vezes.

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

Pode, e é justamente o ponto fraco desta categoria. O divisor de GIF mais conhecido só divide em quadros estáticos, e a principal alternativa que roda localmente lista a divisão em várias animações como um recurso que ainda vai chegar, e não como um que existe. Aqui você pode dividir em um número de partes iguais, em partes com tantos quadros cada, ou em partes com tantos segundos cada. Cada parte é uma animação de verdade, com quadros e tempos próprios, e todas vêm juntas em um único arquivo compactado. Nenhum quadro é duplicado entre as partes e nenhum se perde — as partes sempre somam de volta a origem.

Meu GIF vai continuar repetindo depois do corte?

Vai. Um GIF guarda quantas vezes ele é reproduzido em um pequeno bloco perto do começo do arquivo, e essa é a coisa mais fácil de um cortador deixar cair — a animação passa a tocar uma vez e parar, o que a maioria das pessoas só percebe dias depois. A contagem de repetições é preservada nos dois caminhos, inclusive no caso em que o arquivo é reconstruído e o bloco precisa ser escrito do zero. Isso é verificado nos nossos testes com três arquivos de referência ao mesmo tempo: um que repete para sempre, um que toca exatamente três vezes e um que toca uma vez.

Por que aparece que os quadros foram reconstruídos em vez de copiados?

Por causa de como o seu arquivo guarda os quadros, e não por causa de algo que você escolheu. Quadros de GIF costumam ser armazenados como remendos: o quadro doze de uma gravação de tela muitas vezes é um retângulo pequeno que só faz sentido desenhado por cima dos quadros um a onze. Se o seu corte começa em um quadro assim, copiar os bytes dele produziria um arquivo válido mostrando um pequeno remendo sobre uma tela vazia — então a ferramenta reconstrói, compondo antes cada quadro sobre a imagem inteira. Mesmo assim ela não requantiza: ela monta uma paleta com as cores que aqueles quadros realmente contêm, então o resultado continua sendo pixel a pixel o que a animação mostrava.

Existe algum caso em que as cores REALMENTE mudam?

Um só, e a ferramenta avisa isso no cartão de resultado quando acontece. Um GIF pode dar a cada quadro uma paleta própria, e quando quadros assim são compostos juntos a imagem pode conter mais do que as 256 cores que uma única paleta de GIF comporta. Essa combinação — quadros guardados como remendos E carregando paletas próprias — é o único caso em que o corte não pode ser exato, e é raro. Um WebP animado ou um APNG é o outro caso: eles não são GIFs, então virar um GIF é uma conversão em qualquer ferramenta que você use.

Qual é a velocidade?

Copiar é mais de dez vezes mais rápido do que reconstruir no mesmo arquivo, porque nunca decodifica imagem nenhuma — a ferramenta lê a estrutura do arquivo, copia os trechos que contêm os quadros mantidos e escreve tudo de volta. No dispositivo de referência, cortar 51 quadros de uma animação de 100 quadros leva alguns milissegundos de um dígito no caminho de cópia, e exatamente um quadro é decodificado para isso. Reconstruir o mesmo corte leva dezenas de milissegundos. Os dois são praticamente instantâneos perto de enviar o arquivo para algum lugar.

Os quadros mantêm os tempos próprios deles?

Mantêm, e essa é a invariante que um cortador tem mais chance de quebrar. Os atrasos de um GIF são por quadro e irregulares muito mais vezes do que as pessoas imaginam — uma pose parada por um segundo, depois seis quadros a 40 milissegundos cada. Um cortador que achatasse isso em uma média produziria uma animação válida tocando na velocidade errada, e nada no arquivo pareceria errado. Cada quadro mantido leva o próprio atraso adiante sem alteração, e a duração total do resultado é a soma exatamente desses atrasos. O único atraso que esta ferramenta altera é aquele que você pede, com Manter.

Qual a duração máxima de GIF que posso cortar no plano gratuito?

Até 300 quadros e 200 MB, uma animação por vez, com qualidade total — o plano gratuito não é um corte de qualidade reduzida, é um lote menor. O Pro aceita até 20 animações de uma vez, tira o limite de quadros e é limitado pelo que o seu dispositivo consegue guardar, e não por um número que escolhemos. Todo plano recebe o mesmo corte sem perdas; nada na saída é diferente entre eles.

Qual é a diferença entre isto e o divisor de GIF?

O divisor transforma uma animação em imagens estáticas — um quadro, um arquivo — e tudo nele decorre disso: os formatos de imagem, a folha de sprites, o limite de quadros. A saída desta ferramenta é sempre animação. Dividir em várias animações mais curtas fica aqui e não lá pelo mesmo motivo: é uma seleção de trecho aplicada mais de uma vez, que é o que um cortador já faz. Se você quer as imagens, use o divisor; se quer animações mais curtas, está no lugar certo.

Alguma coisa é enviada para a internet?

Não. O arquivo é lido no seu próprio dispositivo e, no caminho de cópia, a maior parte dele nem chega a ser decodificada — os quadros mantidos são copiados como bytes. Tudo roda em uma thread em segundo plano, então a página continua respondendo, e a ferramenta funciona com a rede desconectada depois que a página carregou. Nossos próprios testes registram cada requisição de rede feita durante uma execução e exigem que a lista esteja vazia.