Coloque seu arquivo
Escolha ou arraste um arquivo .ico ou .cur. Dá para colar o conteúdo também.
Escolha um arquivo .ico ou .cur e a ferramenta lê o cabeçalho e todas as entradas do diretório. Para cada imagem aparecem o byte de largura e altura gravado e o tamanho efetivo (0 vale 256), a quantidade de cores, os planos e bits declarados ou, em cursores, o hotspot X e Y, além do tamanho e da posição dos dados. Pelos primeiros bytes de cada imagem a ferramenta descobre se ela é um PNG embutido ou um bitmap DIB: do PNG mostra largura, altura, profundidade de bits e tipo de cor do IHDR; do bitmap mostra a variante do cabeçalho, os bits por pixel, a compressão e a altura real, obtida dividindo por dois a altura de imagem mais máscara. Entradas em que o diretório contradiz os dados recebem um aviso, e uma tabela de layout aponta sobreposições, lacunas sem uso e bytes extras no fim. O resultado completo pode ser baixado em JSON.
ou arraste um arquivo aqui
Escolha ou arraste um arquivo .ico ou .cur. 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 →
Clique no seletor de arquivos desta página e escolha o .ico; a tabela mostra cada tamanho gravado no favicon, com profundidade de bits e se a imagem é PNG ou bitmap. Use as colunas de largura e altura efetivas para saber o tamanho real, já que o byte gravado mostra 0 para imagens de 256 pixels. A página não exibe o desenho, só a estrutura.
Não. A leitura é feita por JavaScript na própria aba do navegador e a análise não faz nenhuma requisição de rede, então os bytes do ícone continuam no seu aparelho. Depois de fechar a aba nada do arquivo fica guardado pela página, e o relatório JSON só existe se você mesmo baixá-lo.
Dá: abra esta página no Chrome do Android ou no Safari do iPhone, toque no seletor e escolha o .ico salvo em Arquivos ou Downloads; a lista de tamanhos aparece igual ao computador. Em telas pequenas a tabela tem muitas colunas, então role para o lado ou baixe o relatório JSON para ler com calma.
O erro aparece quando os dois primeiros bytes não são zero, o que todo ICO e CUR verdadeiro tem; geralmente é um PNG, BMP ou JPEG renomeado para .ico. Confira os seis primeiros bytes exibidos: 89 50 4E 47 indica PNG e 42 4D indica BMP. Abra com um visualizador desse formato ou exporte de novo como ícone de verdade.
Significa que o cabeçalho anuncia mais imagens do que cabem no arquivo e as entradas existentes não parecem um download cortado, então a contagem em si está corrompida. Se o arquivo apenas foi cortado no meio do diretório, você recebe um aviso de diretório truncado e as entradas completas continuam listadas. Baixe ou gere o ícone novamente.
O limite é de 20.000.000 bytes, cerca de 20 MB, por arquivo; o formato permite até 65.535 imagens no cabeçalho. A tabela da página mostra as primeiras 2.000 entradas e o relatório JSON traz todas as que foram lidas. Largura e altura cabem em um byte de até 255, por isso o valor 0 significa 256.
A ferramenta não verifica vírus nem declara que um ícone é seguro: ela só descreve como o arquivo está montado. Avisos como bytes extras no fim, dados sobrepostos ou entradas que apontam para fora do arquivo merecem investigação, mas a falta de avisos não prova que está tudo bem. Para isso, use seu antivírus.
O contêiner é o mesmo: o cabeçalho vale 1 para ícone e 2 para cursor, e no cursor os campos de planos e bits guardam o hotspot X e Y, o ponto exato do clique. A ferramenta escolhe as colunas por esse valor, verifica se o hotspot fica dentro da imagem e avisa quando a extensão .ico ou .cur contradiz o cabeçalho.
Olhe a coluna de formato dos dados: png quando a entrada começa com a assinatura PNG, dib quando começa com cabeçalho de bitmap, sempre pelos bytes e nunca pela extensão. Nas entradas dib a altura do cabeçalho soma imagem e máscara e é dividida por dois; o que não for nenhum dos dois aparece como desconhecido, com os 16 primeiros bytes.
Não necessariamente: indica que os bits por pixel anotados no diretório diferem dos que a própria imagem declara, e programas diferentes confiam em um ou outro valor. O ícone pode aparecer com cores ou transparência inesperadas em algum lugar. Se o diretório traz 0 bits, a comparação é pulada e os dois valores aparecem separados.