Converter ICO para BMP

Aqui você converte ICO para BMP de graça e sem conta: solte o arquivo acima e em poucos segundos o resultado está pronto para baixar. A conversão acontece dentro do seu próprio navegador, então o arquivo nunca é enviado. Funciona igual no Windows, no macOS e no Linux e também no iPhone e no Android, e continua funcionando mesmo se você cortar a conexão.

  • Onde roda No seu navegador. O arquivo nunca é enviado.
  • Com perdas As cores se mantêm exatamente iguais. BMP não carrega transparência, então o que estiver recortado é preenchido com a cor de fundo.
  • Limite de tamanho Até 100 MB por arquivo, de graça e sem conta.
  • Vale saber O formato de destino não aceita transparência, então as áreas transparentes são preenchidas com a cor de fundo.

Até 100 arquivos de uma vez. Formatos misturados não são problema.

O que a conversão de ICO para BMP faz de fato

ICO 139 KBBMP 450 KB 3.2× maior

Uma cena fotográfica — degradês suaves, bordas macias, granulação. Este é o caso para o qual BMP foi feito, ou contra o qual foi feito, e os números mostram qual dos dois. As duas imagens são desenhadas por código e codificadas pelo mesmo conversor que roda nesta página, então os tamanhos são a saída do próprio site.

ICO 7 KBBMP 450 KB 64.4× maior

Fundo transparente e um degradê atravessando a forma. BMP ou mantém os dois, ou mantém um, ou preenche a transparência com uma cor sólida — e é essa diferença que pega as pessoas. As duas imagens são desenhadas por código e codificadas pelo mesmo conversor que roda nesta página, então os tamanhos são a saída do próprio site.

ICO 3 KBBMP 450 KB 175.2× maior

Cor chapada e bordas duras, como numa interface, num gráfico ou num logo. Comportamento bem diferente do da fotografia acima, e o motivo de a resposta ser "depende do que está no arquivo". As duas imagens são desenhadas por código e codificadas pelo mesmo conversor que roda nesta página, então os tamanhos são a saída do próprio site.

Os dois formatos são parentes próximos, e o ícone ficou com o alfa

Os dois vêm da Microsoft e foram desenhados juntos. O formato de ícone original nem embrulhava uma imagem separada: cada entrada guardava um cabeçalho de bitmap seguido de dados de cor e uma máscara de um bit dizendo quais pixels deixar intactos. Um ICO era, literalmente, bitmaps num diretório com um estêncil grudado.

Depois os dois se separaram. Ícones ganharam um canal alfa de oito bits de verdade com o Windows XP e a capacidade de carregar um PNG a partir do Vista, que é o que arquivos de ícone modernos usam nas entradas grandes. O bitmap gerado por este conversor é a linha de base de 24 bits, que nunca ganhou nenhum dos dois. Converter um no outro é, portanto, um passo atrás em capacidade, feito porque algo do outro lado precisa disso.

O canal alfa é preenchido antes de o bitmap ser gravado

O codificador escreve 24 bits por pixel: oito de azul, oito de verde, oito de vermelho, e nada além disso. Existe uma variante de cabeçalho BMP que define canal alfa, e arquivos usando ela existem, mas quase nada lê isso de forma confiável — exatamente o problema de confiabilidade que o BMP costuma ser escolhido para evitar.

Então a transparência precisa ir para algum lugar antes do codificador rodar, e o ajuste de cor de fundo decide para onde. Branco é o padrão. Escolha a cor da superfície onde o bitmap vai ser desenhado: o fundo de um banner de instalador, a cor do painel numa tela embarcada. Num ícone de teste com cantos transparentes, o resultado registrou 255,255,255 no canto, o que está correto e também é a resposta errada se o painel é cinza-escuro.

Espere o arquivo crescer mais de vinte vezes

Isso não é defeito, é o motivo inteiro do BMP existir. Cada pixel ocupa três bytes independentemente do que contém, então o tamanho do arquivo é aritmética, não resultado: largura vezes três, arredondado para cima até múltiplo de quatro, vezes altura, mais 54 bytes de cabeçalho.

Para um quadrado de 256 pixels isso dá 768 bytes por linha e 196.608 bytes de pixel, totalizando 196.662. Medido contra um ícone de teste de 8.471 bytes de origem, o bitmap ficou mais de vinte e três vezes maior. Se o destino tem limite de tamanho, faça essa conta antes de converter, não depois.

Qual dos desenhos do ícone vira o bitmap

O maior do arquivo. A decodificação é feita pelo leitor de ícone do seu navegador, que retorna a maior entrada do diretório — verificado montando um arquivo com desenhos de 16, 32, 48 e 256 pixels em quatro cores diferentes e convertendo com o diretório escrito em três ordens distintas. O desenho de 256 pixels saiu sempre.

As entradas menores não vão para lugar nenhum e não existe ajuste que alcance elas. Se o software que você está alimentando quer um bitmap de 32 pixels e o ícone tem uma entrada de 32 pixels, um editor de ícone como o GIMP exporta essa camada diretamente, o que dá um resultado melhor do que reduzir a versão de 256 pixels.

Linhas de baixo para cima, e canais na ordem trocada

Dois detalhes que valem saber se você está lendo os bytes em vez de abrir o arquivo. O BMP guarda as linhas de baixo para cima, e guarda cada pixel como azul, depois verde, depois vermelho. Os dois estão na especificação e os dois costumam surpreender quem está analisando um pela primeira vez.

Cada linha também é preenchida até virar múltiplo de quatro bytes, o que importa em larguras ímpares: um bitmap de 33 pixels de largura tem 99 bytes de cor por linha e um byte de preenchimento, deixando a linha armazenada com 100. Em 256 pixels a linha tem 768 bytes e não precisa de preenchimento nenhum, um dos motivos de bitmaps do tamanho de ícone serem fáceis de trabalhar à mão.

Por que alguma coisa ainda pede um bitmap sem compressão

Porque ler um não exige decodificador nenhum. Um microcontrolador ligado a uma tela pequena consegue copiar bytes de um arquivo para um framebuffer com um laço e um deslocamento de cabeçalho; adicionar um decodificador de PNG a esse firmware significa adicionar um descompressor, um alocador de memória e um analisador de blocos a um dispositivo que talvez tenha 32 KB de RAM.

O mesmo raciocínio vale para recurso de instalador, para controle antigo do Windows que carrega recurso pelas próprias funções de bitmap da plataforma, e para teste automatizado que quer comparar imagem byte a byte sem um codec no meio do caminho. Em todos esses casos, previsibilidade vale muito mais que tamanho.

Nada na imagem se degrada pelo caminho

Os dois formatos são sem perdas, e este caminho não tem ajuste de qualidade porque não há nada para negociar. Todo pixel que sobrevive ao achatamento é exatamente o que o ícone guardava, então converter o mesmo arquivo duas vezes dá o mesmo resultado, e não há perda de geração para se preocupar se passar pela etapa de novo depois.

As duas coisas que de fato se perdem são o canal alfa, substituído pela cor de fundo, e as outras entradas do contêiner. Nenhuma das duas é recuperável a partir do bitmap depois, o que é o argumento para guardar o arquivo de ícone original em vez de substituir ele.

Quando vale insistir num PNG em vez disso

Se o destino é software moderno com uma preferência declarada em vez de uma exigência dura, um PNG é menor em duas ordens de grandeza e mantém a transparência. O mesmo ícone de teste ficou em 1.737 bytes como PNG contra 196.662 como bitmap — uma diferença grande o bastante para valer um e-mail perguntando se o BMP é mesmo obrigatório.

Onde a resposta é sim — firmware, um script de instalador, um teste com comparação byte a byte — o bitmap está certo e o tamanho é o preço de ser legível sem decodificador. Diga isso na mensagem do commit, porque um arquivo de 200 KB para um ícone pequeno parece um erro para quem revisar depois.

Convertendo uma pasta de ícones para um instalador ou um painel

Solte o conjunto inteiro. Cada arquivo é decodificado, achatado sobre a mesma cor de fundo e gravado separadamente, com tudo retornando num ZIP. Um fundo compartilhado no lote costuma ser o que esses destinos precisam, já que as imagens estão sendo compostas sobre uma mesma superfície.

Confira as dimensões no resultado em vez de supor que batem. Um conjunto de ícones montado ao longo dos anos mistura entrada que chega a 256 pixels com entrada que para em 32, e os bitmaps herdam essa dispersão — com um fator de sessenta e quatro entre os tamanhos de arquivo nos dois extremos.

Como converter ICO para BMP

  1. Solte o seu arquivo ICO nesta página, ou clique para escolher um.
  2. Escolha BMP como destino. A conversão acontece no seu navegador e o arquivo não é enviado.
  3. Baixe o arquivo BMP pronto.

ICO ou BMP: o que muda

ICO comparado com BMP
ICOBMP
Nome completoÍcone do WindowsBitmap do Windows
Extensão do arquivo.ico.bmp, .dib
Tipo de mídiaimage/x-iconimage/bmp
CompressãoSem perdas — nada é descartadoSem compressão
Publicado pela primeira vez19851987
Publicado porMicrosoftMicrosoft
LicençaPublicado, não padronizadoPublicado, não padronizado
Situação hojeDe nichoAntigo, ainda lido em todo lugar
Profundidade de bits88
Cor que consegue descreverRGB, paleta indexadaRGB, paleta indexada
Maior imagem256 px por lado
Abre no navegadorTodos os navegadoresTodos os navegadores
Considerado no lugarPNG, SVGPNG, TIFF

O que se perde

BMP não tem canal alfa. Um arquivo ICO com transparência sai com essas áreas preenchidas — de branco, se você não indicar outra coisa — e nenhum ajuste de BMP traz a transparência de volta.

Abrir o resultado

GIMP lê tanto ICO quanto BMP, então dá para comparar o resultado com o original sem um segundo programa.

Tamanho e qualidade

BMP guarda as amostras cruas, então o arquivo cresce bastante sem ganhar nada. Só faz sentido quando um programa do outro lado não aceita ICO, que costuma ser o motivo.

Para que serve cada formato

Os dois miram trabalhos diferentes: ICO em a web, BMP em mover dados entre programas. Vale pesar isso antes, porque o motivo de um existir costuma ser o motivo de o outro ser incômodo.

ICO é o formato da Microsoft, publicado em 1985. Registra 8 bits por canal.

BMP vem da Microsoft é de 1987. Microsoft Paint, GIMP e IrfanView leem o formato.

De ICO para BMP: perguntas frequentes

Meu arquivo ICO é enviado para algum lugar?

Não. Esta conversão acontece inteiramente no seu navegador, então o arquivo não sai do seu aparelho. Você mesmo pode conferir: abra a aba de rede das ferramentas de desenvolvedor e converta alguma coisa. Você verá a própria página e as requisições de estatística e de publicidade com que este serviço é pago, e nenhuma que leve o seu arquivo. O motor deste par específico é jSquash, compilações em WebAssembly dos codecs de imagem de referência; seu navegador baixa isso uma vez e guarda.

Converter ICO para BMP é grátis?

É. Sem conta, sem marca d’água e sem cota diária para gastar: roda no seu próprio aparelho, então você pode voltar quantas vezes quiser. O navegador processa arquivos de até 100 MB, 100 por vez. jSquash é baixado para a sua máquina e roda lá, e por isso não há contador.

Perde qualidade ao converter ICO para BMP?

BMP comprime, então dados se perdem. No ajuste padrão isso não aparece; se você quer garantia, aumente a qualidade. O formato de destino não aceita transparência, então as áreas transparentes são preenchidas com a cor de fundo.

O fundo transparente sobrevive de ICO para BMP?

BMP não tem canal alfa. Um arquivo ICO com transparência sai com essas áreas preenchidas — de branco, se você não indicar outra coisa — e nenhum ajuste de BMP traz a transparência de volta.

Por que o arquivo BMP é bem maior que o arquivo ICO?

BMP guarda as amostras cruas, então o arquivo cresce bastante sem ganhar nada. Só faz sentido quando um programa do outro lado não aceita ICO, que costuma ser o motivo.

Mais sobre esses formatos