Skip to content

Conversor de PNG para ICO (e de ICO para PNG)

Converta PNG, JPG, SVG ou WebP em um .ico real multitamanho: 16, 32 e 48 px em um único arquivo, com o alfa intacto. Escolha armazenamento PNG ou BMP não comprimido e compare os dois tamanhos. Também abre arquivos .ico.

Sem rastreamento Roda no navegador Grátis
A conversão acontece inteiramente no seu navegador. Sua imagem nunca é enviada.

Solte uma imagem aqui ou clique para procurar

PNG, JPG, SVG, WebP, GIF ou BMP · até 10 MB

Tamanhos a empacotar

16, 32 e 48 px é o que o guia de ícones da Microsoft de 1995 pedia e a combinação que mais aparece nos favicons reais. 512 não é oferecido: o diretório guarda o comprimento do lado em um byte, então esse tamanho não tem representação válida.

Os dois são válidos dentro de um .ico. O PNG é lido pelo Windows desde o Vista e por todos os navegadores atuais; o BMP não comprimido é o que 13 dos 14 arquivos ICO genuínos encontrados em 20 sites amostrados de fato usam, porque o ImageMagick converte para ele por padrão.

O que existe dentro de um arquivo .ico (exemplo de 16 + 32 + 48 px)
Deslocamento Bytes Campo Valor
0 2 idReserved 0
2 2 idType 1
4 2 idCount 3
6 1 bWidth[0] 16 → 16
7 1 bHeight[0] 16 → 16
8 1 bColorCount[0] 0
9 1 bReserved[0] 0
10 2 wPlanes[0] 1
12 2 wBitCount[0] 32
14 4 dwBytesInRes[0] 248
18 4 dwImageOffset[0] 54
22 1 bWidth[1] 32 → 32
23 1 bHeight[1] 32 → 32
24 1 bColorCount[1] 0
25 1 bReserved[1] 0
26 2 wPlanes[1] 1
28 2 wBitCount[1] 32
30 4 dwBytesInRes[1] 720
34 4 dwImageOffset[1] 302
38 1 bWidth[2] 48 → 48
39 1 bHeight[2] 48 → 48
40 1 bColorCount[2] 0
41 1 bReserved[2] 0
42 2 wPlanes[2] 1
44 2 wBitCount[2] 32
46 4 dwBytesInRes[2] 1464
50 4 dwImageOffset[2] 1022
O dump hexadecimal, as contagens de bytes e a saída de comando citados nesta página foram capturados de arquivos produzidos por esta ferramenta, e cada afirmação sobre o comportamento dos decodificadores foi cruzada com três implementações independentes: um codificador escrito do zero, o Pillow 12.3.0 e o próprio decodificador de ICO do Chromium. A observação de que a maioria dos favicons publicados usa bitmaps não comprimidos vem de baixar e analisar os arquivos de ícone de vinte sites conhecidos em setembro de 2026. — Equipe de engenharia da Go Tools · Sep 22, 2026

Escrito e revisado pelos desenvolvedores que constroem os utilitários de conversão da Go Tools. A estrutura do contêiner, as contagens de bytes e os modos de falha descritos aqui vêm de uma revisão de domínio escrita, e não de resumos do formato feitos por terceiros.

PNG para ICO: respostas rápidas

Quais tamanhos um favicon.ico deve conter?

16, 32 e 48 px Esses três cobrem a aba do navegador, o alternador Alt-Tab e a área de trabalho, e são o conjunto recomendado desde 1995. Acrescente 256 só se o ícone também tiver que se sustentar numa visualização de ícones grandes.

Um único arquivo .ico pode guardar vários tamanhos?

Pode, é exatamente para isso que ele serve O formato é um contêiner: um cabeçalho de seis bytes, uma entrada de diretório de dezesseis bytes por imagem e depois as imagens. Cada uma é um desenho separado, e é por isso que um bom ícone continua nítido a 16 px.

Converter PNG para ICO perde a transparência?

Não, se for feito direito As duas formas de guardar uma imagem dentro de um .ico carregam um canal alfa completo de oito bits. A transparência só se perde quando a ferramenta deixa os bytes de alfa em branco ou descarta a máscara de um bit que programas mais antigos leem no lugar.

Qual o tamanho de uma camada de 256 px dentro de um .ico?

264 KB não comprimida, ou alguns KB em PNG Uma camada de 256 px não comprimida tem exatamente 270.376 bytes — 40 bytes de cabeçalho, 262.144 de pixels e 8.192 de máscara — seja qual for a figura. Guardada como PNG, a mesma camada costuma custar alguns kilobytes.

O que é um arquivo ICO?

Um arquivo .ico não é tanto um formato de imagem quanto um pequeno acervo de imagens. Ele começa com um cabeçalho de seis bytes dizendo quantas figuras existem dentro, seguido de uma entrada de diretório de dezesseis bytes por figura com sua largura, sua altura, sua contagem de bytes e sua posição no arquivo, e só então vêm os dados de imagem. Cada figura pode ser guardada de duas maneiras: como um arquivo PNG completo embutido inteiro, ou como um bitmap do Windows não comprimido com uma máscara de transparência de um bit pendurada logo abaixo.

É esse desenho que permite a um favicon ficar nítido a 16 px na aba do navegador e a 48 px no gerenciador de arquivos: são desenhos diferentes, ajustados à mão em cada tamanho, e não uma única imagem sendo redimensionada. É também por causa dele que o formato guarda algumas surpresas. O comprimento do lado fica em um único byte, então 256 é escrito como zero e 512 não pode ser escrito de jeito nenhum. E o diretório registra para cada entrada um tamanho que os próprios dados de imagem também registram, o que significa que os dois podem discordar — e programas diferentes acreditam em registros diferentes.

$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 16x16, 32 bits/pixel, 32x32, 32 bits/pixel

$ python3 -c "from PIL import Image; print(sorted(Image.open('favicon.ico').ico.sizes()))"
[(16, 16), (32, 32), (48, 48)]

O que este conversor de ICO faz

Um arquivo com todos os tamanhos que você marcar

16, 32 e 48 px por padrão, até 256. Cada tamanho é desenhado separadamente a partir do original em qualidade máxima, em vez de ser reduzido da camada de cima, então os tamanhos pequenos não herdam o borrão de um tamanho maior.

PNG ou BMP não comprimido, com os dois tamanhos à vista

Os dois formatos de payload permitidos têm compromissos bem diferentes e a maioria dos conversores nunca menciona qual deles grava. Aqui isso é uma chave, e o tamanho de arquivo resultante em cada caso aparece na tela, para a decisão ser tomada sobre um número e não sobre um palpite.

Transparência que sobrevive pelos dois caminhos

O canal alfa é gravado por inteiro, e a máscara de um bit que programas mais antigos leem no lugar dele é derivada do alfa em vez de ficar vazia. Deixar essa máscara vazia é exatamente o que transforma um ícone transparente em um quadrado preto onde só a máscara é lida.

Um visualizador de ICO, não só um botão de download

A aba inversa lista todas as imagens dentro de um .ico com seu tamanho real, seu formato de armazenamento, sua profundidade de bits e a origem da transparência — incluindo bitmaps com paleta que vários favicons conhecidos ainda usam. O navegador só vai mostrar uma delas.

Ele avisa quando um arquivo está inconsistente

Se o diretório declara um tamanho que os dados de imagem não confirmam, isso é sinalizado. Um PNG incorporado que o Firefox vai jogar fora também é: seu decodificador ICO só aceita RGB ou RGBA de 8 bits, então uma camada com paleta ou em escala de cinza simplesmente some ali, enquanto todos os outros navegadores a exibem. São dois motivos comuns para um ícone funcionar em um programa e aparecer em branco em outro, e nenhum outro conversor relata nenhum dos dois.

Nada é enviado

Leitura, redimensionamento e empacotamento acontecem todos nesta página. O arquivo nunca chega a um servidor, então não há nada para apagar depois nem fila para esperar.

Convertendo PNG para ICO em código

ImageMagick

magick in.png -define icon:auto-resize=48,32,16 favicon.ico

A resposta de sempre, e o motivo de tantos favicons serem não comprimidos. Todas as camadas, exceto a de 256 px, viram bitmap antes do empacotamento, então três tamanhos saem com cerca de 15 KB em vez de algumas centenas de bytes. Os tamanhos são gravados do maior para o menor.

Python + Pillow

img.save('favicon.ico', sizes=[(16,16),(32,32),(48,48)])

Embute PNG, então os mesmos três tamanhos ocupam cerca de um décimo do espaço. O Pillow também lê ICO muito bem: Image.open(f).ico.sizes() lista o que existe lá dentro, o que ajuda ao conferir o arquivo de outra pessoa.

png-to-ico (npm)

npx png-to-ico icon.png > favicon.ico

Uma CLI de propósito único que recebe um ou mais PNGs e os empacota como payloads PNG. Conveniente em um script de build; ela não redimensiona por você, então cada tamanho tem que vir no próprio arquivo.

sharp

sharp(input).resize(32).png()

Excelente para produzir os PNGs individuais, mas não grava contêineres ICO, então normalmente é combinada com um dos empacotadores acima. Fonte comum de confusão quando o pipeline de build já está padronizado em sharp.

Go

github.com/Kodeworks/golang-image-ico

Grava um ICO de imagem única a partir de um image.Image. Suficiente para um favicon de um só tamanho; empacotar vários tamanhos em um contêiner significa escrever o diretório você mesmo, o que dá umas trinta linhas.

Compiladores de ícones do Windows

script de recursos .rc, rc.exe

Como os ícones de aplicativo costumam ser produzidos. O compilador embute o .ico na seção de recursos do executável; o contêiner lá dentro tem exatamente o mesmo formato de um favicon da web.

GIMP

Arquivo → Exportar como → .ico

Exporta cada camada da imagem como um tamanho de ícone e deixa você escolher a profundidade de bits por camada, incluindo PNG comprimido. Uma das poucas ferramentas gráficas que expõe essa escolha em vez de decidir calada.

sips do macOS

sips -s format ico in.png --out favicon.ico

O macOS tem sim um gravador de ICO: sips --formats lista com.microsoft.ico como gravável e o comando acima gerou um arquivo válido. O que ele não faz é empacotar vários tamanhos — a saída foi uma única camada de 48×48. O iconutil, que os resultados de busca costumam sugerir, gera .icns, o contêiner próprio da Apple, que o Windows e os navegadores não leem.

Exemplos de PNG para ICO, byte a byte

Os primeiros 38 bytes de um .ico de três tamanhos

$ xxd -l 38 favicon.ico
00000000: 0000 0100 0300 1010 0000 0100 2000 e903  ............ ...
00000010: 0000 3600 0000 2020 0000 0100 2000 6c05  ..6...  .... .l.
00000020: 0000 1f04 0000                           ......

0000 é o campo reservado, 0100 indica o tipo 1 (ícone, não cursor) e 0300 diz que há três imagens. Depois vem a primeira entrada de diretório, de 16 bytes: 10 10 é 16×16, 00 a contagem de cores, 00 reservado, 0100 um plano, 2000 32 bits por pixel e e903 0000 são 1.001 bytes de payload no deslocamento 3600 0000 = 54 — exatamente 6 + 3 × 16, o fim do diretório. Todos os números são little-endian, exceto os tamanhos, que ocupam um único byte.

Uma entrada de 256 px guarda zero, não 256

bWidth = 0x00    bHeight = 0x00
256 × 256

O diretório tem um byte para cada lado, então 255 é o maior número que ele consegue guardar e 0 foi definido para significar 256. É também por isso que 512 px não é oferecido em nenhum lugar desta página: não existe byte que signifique 512. Vários conversores on-line oferecem mesmo assim e gravam uma imagem de 512 px atrás de uma entrada de diretório incapaz de descrevê-la.

Os mesmos três tamanhos, duas formas de guardá-los

16 + 32 + 48 px, PNG payloads
16 + 32 + 48 px, uncompressed BMP payloads
389 bytes
15,086 bytes

Um payload não comprimido custa 40 + largura × altura × 4 bytes mais uma máscara de 1 bit, então o tamanho depende só das dimensões e nada da figura em si. É por isso que três sites diferentes conseguem publicar três ícones completamente distintos em arquivos de comprimento idêntico.

Montar o mesmo arquivo pela linha de comando

$ magick logo.png -define icon:auto-resize=48,32,16 favicon.ico
$ file favicon.ico
favicon.ico: MS Windows icon resource - 3 icons, 48x48, 32 bits/pixel, 32x32, 32 bits/pixel

O ImageMagick converte todas as camadas, exceto a de 256 px, para bitmap não comprimido antes de empacotar, e por isso a saída fica em torno de 15 KB em vez de algumas centenas de bytes. O Pillow faz o contrário e embute PNG: Image.open('logo.png').save('favicon.ico', sizes=[(16,16),(32,32),(48,48)]).

Desempacotar um .ico de volta

$ magick favicon.ico favicon-%d.png
favicon-0.png   48×48
favicon-1.png   32×32
favicon-2.png   16×16

O navegador não faz isso por você. Entregue um .ico multitamanho a uma tag <img> e você recebe exatamente uma imagem — a maior — não importa em que ordem os tamanhos estejam. Saber o que existe de fato dentro de um arquivo exige analisar o contêiner na mão, que é o que a aba ICO → PNG faz.

Como converter PNG para ICO

  1. 1

    Solte sua imagem

    PNG, JPG, SVG, WebP, GIF e BMP são todos aceitos, até 10 MB. Nada sai do navegador: o arquivo é lido com a File API e cada pixel é desenhado em um canvas local.

  2. 2

    Escolha os tamanhos

    16, 32 e 48 px já vêm marcados. Acrescente 64, 128 ou 256 se o ícone precisar sobreviver a uma visualização de ícones grandes ou a uma tela de alta densidade. Se a origem for menor que o maior tamanho marcado, a página avisa em vez de ampliar em silêncio.

  3. 3

    Escolha o formato de armazenamento

    PNG é o padrão porque é uma ordem de grandeza menor e é lido por todos os navegadores atuais e por todo Windows desde o Vista. Mude para BMP não comprimido se quiser a forma em que a maioria dos favicons publicados realmente está. Os dois tamanhos de arquivo aparecem lado a lado.

  4. 4

    Baixe e conecte

    Salve o .ico e use o botão Copiar tags link para a marcação. O caminho /favicon.ico na raiz continua funcionando como alternativa, mas o elemento link explícito é o caminho que os navegadores devem tentar primeiro.

Por que arquivos ICO dão errado

Uma camada de 256 px escrita como 255

O byte do diretório para uma imagem de 256 px precisa ser 0. Escrever 255 parece um erro de um a menos, inofensivo, e produz um arquivo que alguns navegadores se recusam silenciosamente a desenhar.

✗ Incorreto
bWidth = 0xFF   bHeight = 0xFF   ; "255", queria dizer 256
✓ Correto
bWidth = 0x00   bHeight = 0x00   ; 0 foi definido para significar 256

O diretório e a imagem discordam sobre o tamanho

Quando uma entrada de diretório diz 16×16 sobre um payload que na verdade é 32×32, os decodificadores se dividem: alguns confiam no diretório e não desenham nada, outros confiam no payload e renderizam normalmente. O arquivo então funciona em uma máquina e fica invisível em outra.

✗ Incorreto
entry: 16×16     payload IHDR: 32×32
✓ Correto
entry: 32×32     payload IHDR: 32×32

O campo de altura do bitmap não foi dobrado

Dentro de uma camada não comprimida, a altura cobre os dados de cor e a máscara juntos. Escrever a altura simples produz um arquivo que aparece em branco em alguns decodificadores e como a metade de baixo da imagem em outros, sem erro nos dois casos.

✗ Incorreto
biHeight = 32        ; para uma imagem de 32 px
✓ Correto
biHeight = 64        ; 2 × 32, dados de cor mais máscara

Uma camada não comprimida com o canal alfa em branco

Algumas ferramentas preenchem a máscara e deixam todos os bytes de alfa em zero. Um decodificador lê isso como uma imagem totalmente transparente e o ícone some; outro recorre à máscara e mostra tudo certo. Gravar os dois, de forma coerente, encerra a discussão.

✗ Incorreto
alpha bytes: all 0x00   mask: all 0x00
✓ Correto
alpha bytes: real values   mask: set where alpha < 128

Um SVG que puxa um arquivo da internet

Referências externas dentro de um SVG são bloqueadas na rasterização, e nada avisa: nenhum erro é disparado e o canvas continua legível. O marcador de imagem quebrada simplesmente entra assado no ícone. Embuta o desenho antes de converter.

✗ Incorreto
<image href="https://cdn.example.com/logo.png"/>
✓ Correto
<image href="data:image/png;base64,iVBORw0KGgo…"/>

Quando você precisa de um conversor de PNG para ICO

Publicar um favicon para um site novo
Solte a logomarca, mantenha os três tamanhos padrão, baixe o favicon.ico e coloque-o na raiz do site. As tags link copiadas entregam a marcação moderna para o mesmo ícone, junto com um SVG e um ícone Apple touch.
Consertar um ícone que fica bom grande e borrado pequeno
Em geral o arquivo tem só uma camada grande e todo o resto é o navegador encolhendo essa camada. Empacotar uma camada real de 16 px, desenhada a partir da origem e não da versão de 256 px, é o que resolve.
Dar seu ícone a um aplicativo de desktop
Executáveis, instaladores e atalhos do Windows aceitam .ico, e partes diferentes do shell buscam tamanhos diferentes dentro do mesmo arquivo. Empacotar 16, 32, 48 e 256 cobre os ícones pequenos das listas, o alternador Alt-Tab e as visualizações de ícones grandes.
Descobrir por que um ícone aparece em um lugar e não em outro
Abra o arquivo na aba ICO → PNG. Um tamanho descrito errado pelo diretório, uma camada sem nenhum alfa ou uma entrada truncada aparecem todos na listagem, e cada camada boa continua sendo exportada mesmo quando a vizinha está quebrada.
Tirar os PNGs de volta de um .ico antigo
Ícones herdados de um projeto antigo costumam ser a única cópia sobrevivente de uma logomarca. A aba inversa exporta cada camada como um PNG próprio, incluindo camadas guardadas como bitmaps com paleta que a maioria dos conversores recusa.

O que existe de fato dentro de um arquivo .ico

Seis bytes, depois dezesseis por imagem
O cabeçalho é 00 00 reservado, 01 00 para ícone (02 00 marca um arquivo de cursor) e então uma contagem de dois bytes. Cada entrada de diretório traz largura, altura, tamanho da paleta e um byte reservado — um byte cada — seguidos de campos de dois bytes para planos e profundidade de bits e de dois campos de quatro bytes com o comprimento e o deslocamento do payload. Tudo que ocupa mais de um byte é little-endian.
Zero significa 256, e 512 não é expressável
Como largura e altura são bytes únicos, 256 precisa ser codificado como 0 e qualquer coisa maior simplesmente não tem codificação. Escrever 255 em vez de 0 para uma camada de 256 px não é uma aproximação razoável: produz um arquivo que os navegadores se recusam a desenhar. Conversores que oferecem a opção de 512 px estão gravando entradas incapazes de descrever o próprio conteúdo.
Uma camada não comprimida custa exatamente 40 + l × a × 4 bytes, mais uma máscara
A máscara acrescenta ceil(largura ÷ 32) × 4 bytes por linha. Uma camada de 16 px fica portanto com 1.128 bytes, a de 48 px com 9.640 e a de 256 px com 270.376 — independentemente do que a figura mostra. Esse custo fixo explica por que três sites sem relação nenhuma podem publicar favicons de comprimento idêntico em bytes, e por que a camada de 256 px só é oferecida aqui quando o payload é PNG.
O cabeçalho do bitmap guarda o dobro da altura
Dentro de uma camada não comprimida, o campo de altura descreve o bitmap de cor e a máscara de transparência empilhados juntos, então ele é escrito como o dobro da altura real mesmo quando a máscara não carrega informação nenhuma. Errar isso é uma das falhas mais silenciosas do formato: alguns decodificadores produzem uma imagem em branco, outros produzem a metade de baixo da figura, e nenhum dos dois relata erro.
Os campos de plano, profundidade de bits e contagem de cores são no máximo indicativos
A especificação é precisa quanto a eles e os arquivos reais a ignoram. O próprio site de documentação da Microsoft serve um favicon cujo diretório declara zero planos e zero bits por pixel sobre um payload de quatro bits por pixel, e ele aparece em todo lugar. Os decodificadores descobrem o formato real a partir do payload — uma assinatura PNG, ou o cabeçalho do bitmap — em vez de confiar no diretório.
O ICO nunca teve uma RFC
O tipo de mídia image/vnd.microsoft.icon foi registrado na IANA em setembro de 2003, e a referência que ele cita é um artigo da Microsoft de 1995 chamado "Icons in Win32". A RFC 2361, amplamente citada como a especificação do ICO, na verdade se chama "WAVE and AVI Codec Registries" e não diz absolutamente nada sobre imagens.

Fazendo um favicon.ico direito

Empacote 16, 32 e 48 e pare por aí para a web
Esse trio é o conjunto recomendado desde 1995 e continua sendo a combinação que mais aparece nos favicons reais. Tamanhos extras não são de graça: cada um deles é mais uma camada que o navegador pode baixar antes de saber qual quer.
Desenhe a camada de 16 px, não apenas encolha a grande
Uma logomarca que funciona a 256 px normalmente perde os traços finos quando chega a 16. Se o tamanho pequeno importa, simplifique o desenho para ele — menos formas, linhas mais grossas — e empacote essa versão simplificada como camada própria.
Use um elemento link e mantenha /favicon.ico como alternativa
A especificação HTML apenas diz aos navegadores que eles podem buscar /favicon.ico, e só quando não existe nenhum elemento link de ícone. O elemento link explícito é o caminho confiável; o arquivo na raiz continua valendo a pena para leitores de feed, rastreadores e qualquer outra coisa que não analise a sua marcação.
Acrescente um tamanho acima de 48 px se os resultados de busca importam
O guia de favicons do Google pede uma imagem quadrada de pelo menos 8 px e recomenda passar de 48 px para que ela se sustente em superfícies diferentes. Ele aceita PNG com a mesma facilidade que ICO, então o tamanho grande não precisa morar dentro do .ico.
Confira o arquivo, não se contente em olhar para ele
Um ícone que aparece no seu navegador ainda pode estar errado: uma entrada de diretório que não bate, um canal alfa ausente ou uma camada ilegível não impedem que a única imagem escolhida pelo navegador seja exibida. Abrir o arquivo na aba inversa mostra todas elas.

Perguntas frequentes sobre PNG para ICO

Como converter um PNG em arquivo ICO?
Solte o PNG nesta página, deixe 16, 32 e 48 px marcados e baixe o resultado. Tudo roda no navegador, então a imagem nunca é enviada. Na linha de comando, o equivalente usual é magick logo.png -define icon:auto-resize=48,32,16 favicon.ico.
Por que meu ícone fica borrado nos tamanhos pequenos?
Quase sempre porque o arquivo contém uma única imagem grande e tudo que é pequeno é o navegador encolhendo essa imagem na hora. Nenhuma redução é sem perda depois que a grade de pixels encolhe: traços finos e detalhes miúdos somem abaixo de uns 24 px, por melhor que seja a reamostragem, então a qualidade é decidida pelos tamanhos empacotados, não pelo conversor. Empacote uma camada real de 16 px e, se a logomarca for detalhada, simplifique o desenho para essa camada em vez de escalá-lo.
As imagens de dentro devem ser PNG ou BMP não comprimido?
PNG, a menos que você tenha um motivo para não usar: é uma ordem de grandeza menor e é lido por todos os navegadores atuais e por toda versão do Windows desde o Vista. Bitmaps não comprimidos continuam sendo a escolha mais comum no mundo real, principalmente porque o ImageMagick converte para eles por padrão, e são a aposta mais segura para software muito antigo. A página mostra os dois tamanhos de arquivo para você decidir pelo número.
Por que não existe opção de 512 px?
O diretório guarda o comprimento de cada lado em um único byte, então o maior valor que ele consegue expressar é 255 e o 0 está reservado para significar 256. Não há como escrever 512. Conversores que oferecem essa opção produzem uma entrada de diretório que não descreve a imagem atrás dela, o que é um bom jeito de acabar com um ícone que alguns programas se recusam a exibir.
Um PNG com fundo transparente continua transparente depois de virar ICO?
Sim. O canal alfa é gravado por inteiro, e a máscara de um bit que programas mais antigos leem no lugar dele é derivada do alfa em vez de ficar vazia — é justamente essa máscara vazia que transforma um fundo transparente em um quadrado preto nas ferramentas que a deixam em branco. Um pixel parcialmente transparente conta como transparente na máscara quando seu alfa cai abaixo da metade, que é a única escolha possível já que a máscara tem um bit por pixel.
Posso converter um SVG para ICO?
Pode, e uma origem vetorial é a melhor entrada possível, porque cada tamanho é desenhado a partir da geometria em vez de ser reamostrado de um bitmap. Uma ressalva: tudo que o SVG puxa pela rede — uma imagem vinculada, uma fonte remota, uma folha de estilo importada — é bloqueado durante a conversão sem disparar erro nenhum. A página procura essas referências e avisa você.
Ainda preciso de um favicon.ico na raiz do site?
Vale a pena ter, mas ele não é mais o caminho principal. A especificação HTML diz que os navegadores podem requisitar /favicon.ico, e só quando a página não tem nenhum elemento link de ícone. O elemento link é o que os navegadores devem usar primeiro; o arquivo na raiz cobre leitores de feed, rastreadores e qualquer outra coisa que nunca analisa o seu HTML.
O Google precisa de um arquivo ICO para os resultados de busca?
Não. A documentação de favicons do Google aceita BMP, GIF, ICO, PNG, JPEG, PPM e TIFF, exige uma imagem quadrada de pelo menos 8 px e recomenda passar de 48 px para que ela fique boa em superfícies diferentes. Um único PNG grande já atende; o .ico serve para todo o resto.
Por que meu navegador só mostra um tamanho quando abro um .ico?
Porque é tudo que um elemento de imagem pode entregar. Passe um .ico multitamanho a um navegador e ele escolhe uma imagem — na prática, a maior — e o resto fica inacessível. Listar cada camada exige analisar o contêiner diretamente, que é o que a aba ICO → PNG desta página faz.
O que significa o diretório e a imagem discordarem sobre o tamanho?
Significa que o arquivo é internamente inconsistente, e os decodificadores lidam com isso de maneiras opostas: alguns confiam no diretório e acabam não desenhando nada, outros confiam nos dados de imagem e renderizam corretamente. É uma causa clássica de ícone que funciona em uma máquina e some em outra, então esta página sinaliza o problema quando você abre um arquivo.
Esta ferramenta abre arquivos ICO que outros conversores rejeitam?
Muitas vezes, sim. Camadas guardadas como bitmaps com paleta — quatro ou oito bits por pixel — ainda são usadas por vários favicons conhecidos e muitos conversores as recusam de saída. Camadas quebradas também são tratadas uma a uma, então um único tamanho ilegível não impede a exportação do restante. A listagem também marca qualquer camada PNG incorporada que o Firefox vá descartar: seu decodificador ICO só aceita RGB ou RGBA de 8 bits, então um PNG com paleta ou em escala de cinza some ali. O próprio site da Mozilla já publicou um ícone com exatamente esse problema: a camada de 64 px dele é um PNG com paleta que o próprio Firefox joga fora, e só as outras camadas mantêm o ícone visível.
Minha imagem é enviada para algum lugar?
Não. O arquivo é lido com a File API do navegador, desenhado em um canvas desta página e empacotado no contêiner por JavaScript rodando localmente. Nenhuma requisição leva a imagem para lugar algum, o que você pode confirmar no painel de rede das ferramentas de desenvolvedor — ou carregando a página, desligando a rede e convertendo mesmo assim: depois que a página carrega, funciona offline.

Ferramentas relacionadas

Ver todas as ferramentas →

Conversor de Base Numérica — Binário, Hex, Decimal e Octal

Ferramentas de Conversão

Converta números entre binário, hexadecimal, decimal, octal e qualquer base personalizada (2-36) instantaneamente. Gratuito, privado, sem cadastro — todo o processamento acontece no seu navegador.

Calculadora de complemento de dois e inteiros com sinal

Ferramentas de Conversão

Digite um inteiro com sinal e obtenha de uma vez sinal-magnitude, complemento de um, complemento de dois e binário deslocado, de 4 a 64 bits. Ou cole um padrão de bits ou byte hexadecimal e veja as cinco leituras.

Calculadora chmod — Permissões de Arquivos Linux

Ferramentas de Conversão

Converta permissões de arquivos Linux entre octal (755, 644) e símbolos rwx. Gere comandos chmod e detecte ajustes arriscados como 777 — grátis, direto no seu navegador.

Conversor de Cores — HEX, RGB, HSL e OKLCH

Ferramentas de Conversão

Converta HEX para RGB, HSL, OKLCH, OKLAB e CMYK no seu navegador — copie qualquer formato com um clique. Grátis, sem cadastro, suas cores nunca saem da página.

Conversor de HEX para CMYK

Ferramentas de Conversão

Converta cores HEX para CMYK no seu navegador. Aproximação ingênua baseada em sRGB para prévias de impressão. Grátis, sem cadastro, suas cores ficam locais.

Conversor de HEX para HSL

Ferramentas de Conversão

Converta qualquer cor hex para HSL no seu navegador — hex de 3, 6 e 8 dígitos com alfa, todos suportados. Grátis, instantâneo, sem cadastro, suas cores nunca saem da página.