Coloque seu arquivo
Escolha ou arraste um arquivo .gif. Dá para colar o conteúdo também.
Escolha um arquivo .gif e o inspetor percorre a estrutura dele byte a byte. Você vê a versão (GIF87a ou GIF89a), o descritor de tela lógica (largura, altura, resolução de cor, sinalizador de ordenação, tamanho da paleta global, índice da cor de fundo e proporção do pixel) e uma tabela de quadros com o retângulo de cada um, entrelaçamento, paleta local, tamanho mínimo de código LZW, atraso em centésimos ao lado do valor em milissegundos, método de descarte, sinalizador de entrada do usuário e índice transparente. O inspetor também lê as repetições da extensão NETSCAPE2.0 (0 = repete para sempre), soma os atrasos gravados em uma duração total, exibe comentários e texto simples com leitura Latin-1 e UTF-8 estrito, lista extensões de aplicativo ou desconhecidas pelo identificador ou rótulo hexadecimal e informa se o byte terminador 0x3B existe e quantos bytes vêm depois dele. Problemas de estrutura viram alertas, e o resultado completo pode ser baixado como relatório JSON. Os pixels não são descompactados e não há nenhum julgamento sobre a segurança do arquivo.
ou arraste um arquivo aqui
Escolha ou arraste um arquivo .gif. Dá para colar o conteúdo também.
O arquivo é lido e analisado neste navegador; nada é enviado.
Veja o que voltou e então copie, baixe ou siga em frente.
Quer saber o que acontece com os arquivos? Leia o aviso de privacidade →
Escolha o arquivo .gif e o inspetor mostra na hora o número de quadros, a duração total e uma tabela com o atraso de cada quadro em centésimos de segundo e em milissegundos. Cada linha traz ainda posição, tamanho, método de descarte, índice da cor transparente e se o quadro é entrelaçado. A duração total é só a soma dos atrasos gravados no arquivo.
Não precisa: o GIF é lido dentro da aba do seu navegador e o relatório é montado ali mesmo, sem que o arquivo seja enviado a um servidor para análise. Endereços de sites que aparecem num comentário são exibidos como texto e não são abertos, e o relatório JSON para baixar também nasce na própria aba.
Dá, sim: a página funciona no navegador do celular Android ou iPhone e também no Windows e no Mac, bastando escolher o .gif no seletor de arquivos, sem instalar nada. Alguns apps de mensagem salvam o "GIF" como vídeo MP4 ou WebP; nesse caso o inspetor avisa que o arquivo não é GIF.
Porque os três primeiros bytes não são "GIF": o conteúdo é de outro formato com extensão .gif, muitas vezes um WebP, PNG, MP4 ou uma página HTML salva por engano. A verificação olha os bytes, não o nome. Se começa com GIF mas a versão não é 87a nem 89a, aparece "versão não suportada"; se é curto demais para um cabeçalho completo, aparece cabeçalho truncado.
Esse aviso indica que o GIF acaba antes de completar a estrutura, quase sempre por um download ou cópia interrompidos, e o relatório lista tudo o que foi lido até a posição em que parou. Os quadros anteriores ao corte continuam na tabela. Alertas como "o arquivo termina dentro de um quadro" apontam o mesmo problema; baixar o arquivo original de novo é a correção mais segura.
O limite é de 30.000.000 bytes (cerca de 30 MB) por arquivo, e a leitura para com um alerta ao chegar a 20.000 quadros ou 100.000 blocos de extensão. A tabela da página mostra os primeiros 5.000 quadros, enquanto o relatório JSON baixado contém todos os quadros lidos. Texto de comentários é guardado até 200.000 bytes no total.
O inspetor mostra o atraso exatamente como foi gravado: 0 continua 0 ms e a duração total não é corrigida. Muitos navegadores esticam atrasos de 0 ou 1 centésimo para cerca de 100 ms, então os dois casos podem tocar mais devagar que os números. Só os quadros gravados com atraso exatamente 0 recebem o alerta de atraso 0 e a observação sobre o navegador; um quadro de 1 centésimo mostra 10 ms sem alerta, e nenhum valor é alterado.
Não. Ele descreve como o GIF foi montado, mas não julga se o arquivo é seguro, autêntico, editado ou gerado por IA, e não procura malware. Bytes depois do terminador são contados sem palpite sobre sua finalidade, e extensões desconhecidas aparecem só pelo rótulo hexadecimal. Para saber se é seguro, use um antivírus ou confirme a origem.
O GIF89a trouxe extensões para atraso, transparência, comentários e a repetição NETSCAPE, que o GIF87a não tem; por isso o relatório de um GIF87a informa que nenhuma extensão de animação foi encontrada, em vez de inventar valores padrão. Se um arquivo marcado como 87a tiver extensões, essa contradição é sinalizada.
Veja as repetições, lidas da extensão de aplicativo NETSCAPE2.0: 0 quer dizer que o GIF repete para sempre e qualquer outro número é a contagem gravada. Sem esse bloco, nenhum valor aparece, porque o arquivo não traz instrução de repetição. Um bloco de dados NETSCAPE2.0 que não tem os três bytes esperados é sinalizado como malformado e o campo fica vazio; um bloco de três bytes com identificador de sub-bloco diferente de 1 não é instrução de repetição, então o campo também fica vazio, mas sem alerta. O valor nunca é adivinhado.
Os comentários ganham uma tabela própria, com o texto lido como Latin-1, uma leitura UTF-8 estrita quando os bytes são válidos e o tamanho original em bytes. Como o GIF não declara codificação, as duas leituras ficam lado a lado para você decidir qual faz sentido. Bytes NUL e de controle aparecem como \xNN, exceto tabulação, quebra de linha e retorno de carro (0x09, 0x0A, 0x0D), que ficam como espaços em branco comuns; qualquer HTML é mostrado como texto literal.
Não. Ele apenas lê o GIF e nunca o regrava, otimiza ou recodifica; o único arquivo que você pode salvar é o relatório JSON da estrutura, com o nome do GIF original. Para reduzir ou mudar de formato use um conversor separado — o relatório ajuda a comparar o antes e o depois.