GIF

O que é um arquivo GIF?

Limitado a 256 cores, e ainda assim o único formato de imagem que anima em qualquer lugar. Para vídeo gera arquivos enormes.

O que é GIF

GIF é um formato binário, que só significa alguma coisa para um programa que o conhece. Ele guarda uma grade de pixels, então amolece assim que você o amplia além da própria resolução. Ele é usado para a web.

A extensão é .gif e o nome por extenso é Graphics Interchange Format. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem GIF

A CompuServe publicou o formato em 1987. A especificação é GIF89a.

A um formato que se manteve legível por tanto tempo dá para confiar algo que você quer de volta daqui a dez anos.

A especificação é pública

Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.

É um formato legado

Ele ainda abre em todo lugar e programas antigos ainda o escrevem, mas nada de novo está sendo construído em volta. Converta o que quiser guardar e não o escolha para algo que começa hoje.

Nada é jogado fora

GIF guarda o conteúdo exatamente. Salvar de novo não muda nada, então dá para abrir, editar e salvar quantas vezes você quiser sem acumular estrago — e é isso que faz dele um formato de trabalho e não de entrega.

Ele pode ser transparente

GIF carrega um canal alfa, então uma logomarca mantém as bordas suaves por cima do que estiver atrás em vez de chegar dentro de uma caixa branca.

Ele pode carregar mais de um quadro

GIF consegue guardar uma animação em vez de uma imagem parada. Vale saber disso antes de converter: um destino que só comporta um quadro fica com o primeiro e larga o resto, quase sempre sem avisar.

Que cor ele consegue descrever

Até 8 bits por canal. Ele consegue trabalhar em uma paleta indexada.

Oito bits por canal é o que uma tela mostra e o que praticamente todo formato de entrega carrega.

GIF está limitado a 256 cores

A paleta é a restrição da qual todo o resto decorre. Uma fotografia convertida para esse formato tem de ter as cores escolhidas e aproximadas — por isso os degradês saem em faixas ou pontilhados, e por isso um desenho de cores chapadas atravessa o formato sem um arranhão.

Existe um limite de tamanho que vale conhecer

GIF não consegue descrever uma imagem maior que 65.535 pixels de lado. Isso fica muito acima de uma fotografia comum e bem ao alcance de um panorama costurado ou de uma digitalização em alta resolução — é exatamente aí que a gente esbarra nele.

O que abre GIF

GIMP, Adobe Photoshop e ImageMagick leem esse formato, e a maioria dos programas do mesmo tipo também.

Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.

Abrir no navegador

Qualquer navegador atual lê o formato.

Dá para colocá-lo numa página ou anexá-lo a uma mensagem sem se perguntar o que o outro lado tem instalado.

É um formato de entrega

GIF foi feito para ser entregue, não para se trabalhar dentro dele. Editar um é possível e raramente agradável; o caminho sensato passa pelo original e por uma nova exportação.

O que dá errado com ele

As reclamações que se repetem: degradês suaves podem sair em degraus visíveis.

Nada disso é motivo para evitar o formato. São as coisas que vale conhecer antes que uma delas te pegue de surpresa, o que é uma afirmação diferente e mais útil.

Duzentas e cinquenta e seis cores, e tudo decorre disso

Um GIF guarda uma paleta de no máximo 256 cores e depois referencia ela por índice. Todo pixel é um número apontando para uma entrada da tabela. Isso era um projeto sensato em 1987, quando telas conseguiam mostrar 256 cores e uma paleta era como imagem funcionava.

Toda reclamação sobre o GIF volta a isso. Uma fotografia tem muito mais que 256 cores distintas, então converter uma significa descartar quase todas elas — o que explica céus virarem degraus visíveis e tons de pele ficarem manchados. O formato não está fazendo isso mal; está fazendo exatamente o que foi desenhado para fazer, num conteúdo para o qual nunca foi desenhado.

Dithering troca faixas visíveis por granulado

Diante de um degradê que não consegue representar, um codificador pode aplicar dithering: espalhar pixels das duas cores disponíveis mais próximas, para o olho misturar elas. Isso genuinamente funciona, e é por isso que um GIF bem feito de uma fotografia parece melhor do que a paleta deveria permitir.

O custo é visível de perto como um granulado fino, e é caro. O dithering destrói as sequências de pixels idênticos das quais a compressão do GIF depende, então um GIF com dithering costuma ser bem maior que um sem. Essa troca — degradês mais suaves contra um arquivo maior — é a principal alavanca que qualquer um tem ao fazer um GIF.

Animação é o motivo dele ter sobrevivido

O GIF anima sem ser um vídeo, e faz isso em mais lugares do que o APNG ou o WebP animado alcançam — clientes de chat, e-mail, software de fórum, ferramentas de apresentação e muito software que nunca aprendeu um segundo formato animado. Esse alcance carregou ele por quarenta anos. Não precisa de player, de negociação de codec nem de permissão de autoplay — é uma imagem, e tudo que exibe imagem exibe ela em movimento.

Isso é um fato social mais do que técnico. Aplicativos de chat, fóruns, rastreadores de problemas e plataformas de mensagens aceitam um GIF animado e frequentemente recusam um WebP ou APNG animado, ambos melhores em toda medida mensurável. O formato persiste por causa de onde é aceito, não por causa do que faz.

Um clipe de cinco segundos vira um arquivo enorme

Cada quadro é guardado como uma imagem, comprimido só contra si mesmo e seus vizinhos de forma limitada. Codecs de vídeo descrevem o que mudou entre quadros; o GIF praticamente não faz isso. Então cinco segundos de uma pessoa se movendo em qualquer tamanho real produz um arquivo de vários megabytes, onde o mesmo clipe como MP4 é algumas centenas de kilobytes.

As alavancas práticas são resolução, taxa de quadros e duração, nessa ordem. Reduzir a largura para uns 480 pixels e a taxa para 10 ou 12 quadros por segundo normalmente traz um clipe para um tamanho enviável. Se o destino aceita vídeo de qualquer jeito, ele continua sendo a resposta melhor, por uma margem larga.

Transparência é um bit, sem meio-termo

Um GIF consegue marcar uma entrada da paleta como transparente, e esse é o mecanismo inteiro. Um pixel é totalmente opaco ou totalmente invisível — não existem valores parciais.

O resultado visível é bordas serrilhadas em qualquer coisa curva, e um halo da cor de fundo antiga ao redor de um assunto recortado contra outra coisa. O PNG resolveu isso em 1996 com um canal alfa de verdade, e é o motivo mais forte para usar PNG numa logo ou ícone em vez de GIF.

A briga de patente que produziu o PNG

A compressão do GIF usa LZW, sobre o qual a Unisys detinha patentes. Em 1994 a empresa começou a fazer valer elas contra software que gravava GIFs, e um formato que todo mundo usava livremente de repente exigia licença.

A resposta foi o PNG, desenhado abertamente nos meses seguintes especificamente para ficar livre disso, e chegou melhor em quase todo aspecto. As patentes venceram entre 2003 e 2006 — a dos Estados Unidos primeiro, as equivalentes europeia, japonesa e canadense em 2004, a da IBM por último — e a disputa virou história. Naquela altura, o GIF já tinha perdido o argumento de imagem parada permanentemente, e ficou só com a animação.

Loops, tempo e os quadros que travam

Cada quadro carrega seu próprio atraso, então um GIF consegue segurar uma pausa longa numa imagem e correr por outras. A contagem de loop mora num bloco de extensão, com zero significando para sempre, que é o que quase todo GIF especifica.

Um atraso de 0 ou 1 centésimo de segundo é onde o comportamento diverge: navegadores historicamente forçaram atrasos muito curtos para um mínimo, então um GIF feito a 100 quadros por segundo toca a uns dez em alguns visualizadores e mais rápido em outros. Se uma animação corre em velocidades visivelmente diferentes em lugares diferentes, esse limite costuma ser o motivo.

É pronunciado dos dois jeitos e nenhum lado vai vencer

Steve Wilhite, que liderou a equipe que criou ele na CompuServe, disse que era pronunciado com um G suave — "djif" — e repetiu isso ao receber um prêmio de carreira em 2013. O G duro continua sendo esmagadoramente mais comum na prática.

Isso está incluído aqui porque as pessoas genuinamente buscam por isso, e porque a resposta honesta é que a intenção do criador e o uso geral discordam, o que é um resultado comum para uma palavra que se espalhou mais rápido do que qualquer um conseguisse corrigir.

Para que converter ele

Para uma imagem parada, PNG — sem perdas, cor completa, transparência de verdade, e normalmente menor que o GIF. Para uma animação indo para algum lugar que aceita vídeo, MP4 ou WebM, que vão ficar numa fração do tamanho em qualidade melhor. Para uma animação que precisa continuar sendo uma imagem, WebP onde o destino suporta.

Converta para GIF só quando o destino especificamente quer um, o que é um caso real e comum: uma janela de chat, uma discussão de bug, uma página de documentação, uma plataforma cujo formulário de upload não muda há uma década. O formato é pior que suas substituições e melhor aceito, e esse é o cálculo inteiro.

Os dados, num lugar só

Identificadores e procedência do formato GIF.
Extensão.gif
Tipo de mídiaimage/gif
Publicado porCompuServe
Primeira publicação1987
EspecificaçãoGIF89a

De onde vêm estes números

O que esta página afirma pode ser conferido, e estes são os documentos que resolvem a questão.