Imagem PNG (.png)
W3C PadrãoPortable Network Graphics (PNG) é um formato de arquivo de imagem raster sem restrições de uso que oferece suporte à compactação de dados sem perdas, cores indexadas e transparência com canal alfa variável.
Converter PNG para JPG
Conversor gratuito de PNG para JPG no navegador. Converta arquivos instantaneamente no seu dispositivo.
Comprimir PNG online
Privado - os arquivos nunca saem do seu dispositivo
Inspeção e metadados
Sistemas operacionais e analisadores de arquivos identificam arquivos PNG pela sequência inicial de bytes:
Assinatura do arquivo em bytes (magic bytes)
Sistemas operacionais e analisadores de arquivos identificam arquivos PNG pela sequência inicial de bytes:
ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):
89 50 4E 47 0D 0A 1A 0AREPRESENTAÇÃO ASCII: .PNG....
Padronização: W3C Recommendation (1996) / ISO/IEC 15948:2004
Especificações técnicas
| Estrutura do contêiner | Contêiner binário baseado em blocos (chunks), com verificação CRC32 de 4 bytes por bloco |
| Compressão | Deflate (LZ77 + codificação Huffman) com 5 filtros preditivos de linha de varredura (None, Sub, Up, Average, Paeth) |
| Ordem dos bytes (endianness) | Big-endian (ordem de bytes de rede) para comprimentos dos blocos, dimensões e CRCs |
| Espaços de cor | sRGB, Display P3, Paleta indexada (1 a 8 bits), Tons de cinza, Cor verdadeira (24/48 bits) |
| Canais e Estrutura | RGB + alfa (até 16 bits por canal / RGBA de 64 bits) |
| Dimensões Máximas | 2.147.483.647 × 2.147.483.647 pixels (inteiros sem sinal de 4 bytes) |
| Transparência | Canal de transparência alfa variável completo, de 8 ou 16 bits |
| Streaming e Progressivo | O algoritmo de entrelaçamento Adam7, com 7 passadas, permite renderizar as linhas da imagem progressivamente em 2D |
Matriz de comparação técnica: PNG e formatos concorrentes
| Atributo técnico | PNG (Atual) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Tipo de compactação | Estritamente sem perdas (Deflate + filtros preditivos 2D) | Com perdas (VP8) e sem perdas (VP8L) | Com perdas (AV1 intra) e sem perdas | Estritamente com perdas (transformada discreta de cosseno) |
| Transparência alfa | Canal alfa variável completo, de 8 ou 16 bits | Canal alfa de 8 bits suportado | Suporte a alfa de 8 bits / 10 bits / 12 bits | Sem suporte a canal de transparência |
| Tamanho do arquivo (fotografias) | Grande (normalmente de 3 a 6 vezes maior que nos formatos com perdas) | Pequeno (25% a 35% menor que o JPEG) | Muito pequeno (40% a 55% menor que o JPEG) | Referência de tamanho médio |
| Tamanho do arquivo (gráficos/interface) | Extremamente compacto para capturas de tela, arte linear e texto | Excelente modo sem perdas | Bom, mas mais lento para codificar | Ruim (produz halos ao longo de bordas nítidas) |
| Compatibilidade com navegadores | Compatível com todos os navegadores desde 1998 | Compatibilidade com mais de 97% dos navegadores modernos | Compatibilidade com mais de 93% dos navegadores modernos | 100% universal |
Modos comuns de corrupção e guia de recuperação com editor hexadecimal
O visualizador de imagens exibe 'Fatal error: Not a valid PNG file' ou falha ao abrir.
Causa principal: Os primeiros 8 bytes foram alterados por uma transferência em modo ASCII (que converteu 0x0D 0x0A em 0x0A ou 0x0D 0x0D 0x0A).
Recuperação: Abra o arquivo em um editor hexadecimal e confira se os primeiros 8 bytes correspondem a 89 50 4E 47 0D 0A 1A 0A. Restaurar exatamente esses bytes do cabeçalho costuma recuperar a imagem.
O pngcheck informa "CRC error in chunk IDAT" ou a imagem carrega parcialmente, com as linhas inferiores corrompidas.
Causa principal: Corrupção de bits no fluxo de dados zlib compactado ou soma de verificação CRC32 inválida em um bloco IDAT.
Recuperação: Use pngcheck -f ou ferramentas de recuperação do fluxo Deflate para recalcular valores CRC32 válidos, ou descompacte as linhas que ainda podem ser recuperadas antes do bloco corrompido.
A imagem é exibida corretamente em visualizadores de desktop, mas não em aplicativos iOS.
Causa principal: O iOS espera o formato proprietário da Apple com bytes CgBI invertidos ou blocos de espaço de cor fora do padrão.
Recuperação: Normalize a imagem com pngcrush -revert-iphone-optimizations para restaurar a ordem RGBA padrão do W3C.
Análise de segurança e vetores de ataque a analisadores
O PNG é compatível com muitos sistemas operacionais e aplicativos. Os riscos de segurança incluem esgotamento de memória do decodificador e blocos auxiliares maliciosos.
Vetores de ataque conhecidos
- Blocos de metadados tEXt e zTXt grandes demais podem causar negação de serviço por esgotamento de memória (OOM) em decodificadores sem sandbox.
- Vulnerabilidades de estouro de buffer de heap em versões legadas do libpng (por exemplo, CVE-2015-8126 em png_set_PLTE).
- Ataques de inundação de pixels por descompactação, nos quais uma imagem pequena declara dimensões enormes (por exemplo, 100.000 × 100.000 pixels).
- Exfiltração esteganográfica por meio de cargas criptografadas ocultas em blocos auxiliares privados (por exemplo, eXIf ou tipos de bloco personalizados).
Melhores práticas defensivas: Sempre valide as dimensões da imagem antes de alocar buffers de pixels na memória. Ao receber imagens de usuários, remova os blocos auxiliares não essenciais (eXIf, tEXt) com um sanitizador seguro para a memória.
Origens históricas e marcos
Principais vantagens
- O PNG usa compressão sem perdas, por isso codificar uma imagem inalterada não introduz perdas de compressão; edições ou conversões de cor ainda podem alterar os valores dos píxeis.
- A transparência alfa suave de 8 bits permite uma mesclagem limpa em fundos complexos.
- Blocos de correção de gama e cromaticidade ajudam a garantir uma renderização consistente em diferentes monitores.
Limitações técnicas e desvantagens
- Arquivos significativamente maiores que os de formatos modernos com perdas, como WebP ou AVIF, quando usados para fotografias.
- O PNG padrão não oferece animação nativa com vários quadros (é necessária a extensão APNG).
- Imagens com profundidade de 16 bits por canal geram buffers de decodificação descompactados enormes na memória.
Curiosidades técnicas
- O cabeçalho mágico de 8 bytes foi projetado especificamente para detectar corrupção de fim de linha CR/LF por transferências FTP.
- O acrônimo recursivo não oficial para PNG era 'PNG's Not GIF'.
- A Apple usa um bloco proprietário CgBI em PNGs de aplicativos iOS que inverte RGBA para BGRA para renderização direta na GPU.
Perguntas técnicas frequentes
Por que o tamanho de um arquivo PNG às vezes aumenta quando é salvo em editores de imagem?
Diferentes conjuntos de software usam níveis variados de compactação Deflate e heurísticas diferentes para os filtros preditivos de linha. Programas como o Photoshop costumam acrescentar perfis de cores descompactados, blocos de metadados XMP e blocos IDAT de tamanho não otimizado. Ferramentas dedicadas, como o Compressor do File2File.app, reavaliam os cinco filtros de linha para obter o menor arquivo possível.
Qual é a diferença entre PNG-8 e PNG-24?
O PNG-8 usa uma paleta indexada de até 256 cores (semelhante à do GIF), gerando arquivos muito pequenos, adequados para ícones simples. O PNG-24 suporta 16,7 milhões de cores (Truecolor de 8 bits por canal), enquanto o PNG-32 acrescenta um canal alfa de 8 bits para transparência.
Por que o PNG tem cinco filtros preditivos de linha?
O Deflate compacta padrões de bytes repetidos. Como os valores dos pixels em fotos ou gradientes mudam gradualmente, o PNG aplica um filtro a cada linha (None, Sub, Up, Average, Paeth), calculando as diferenças entre pixels adjacentes. Isso transforma os dados de gradiente em sequências de bytes próximos de zero, que o Deflate compacta com muito mais eficiência.
O PNG suporta espaços de cores CMYK para impressão comercial?
Não. A especificação oficial do PNG do W3C limita deliberadamente os tipos de cor a escala de cinza, paleta indexada e RGB. Fluxos de trabalho de impressão profissional que exigem CMYK devem usar arquivos TIFF ou PDF.
Conversões de PNG relacionadas
Converter imagens rasterizadas PNG para o formato JPEG reduz o tamanho do arquivo aplicando compressão com perdas, o que faz com que as imagens carreguem mais rapidamente nos sites e utilizem menos espaço de armazenamento.
Converter uma imagem rasterizada JPEG com perdas numa imagem rasterizada PNG sem perdas evita perdas de qualidade adicionais e acrescenta suporte à transparência do canal alfa.
A conversão de imagens PNG para WebP pode reduzir o tamanho do arquivo e manter a transparência; o resultado depende do uso de codificação com ou sem perdas e do conteúdo da imagem.
A conversão de WebP para PNG cria uma imagem estática para programas compatíveis com PNG; ela não mantém a animação WebP, e não é possível recuperar detalhes já perdidos na origem.
Converter HEIC para PNG transforma fotos comprimidas com HEVC com perdas em arquivos gráficos sem perdas amplamente suportados.
A conversão de arquivos vetoriais SVG para imagens rasterizadas PNG transforma gráficos escaláveis baseados em código em grades fixas de pixels para compatibilidade universal com aplicativos.
Incorpore imagens raster PNG em um contêiner SVG baseado em XML para redimensioná-las de forma responsiva na web e integrá-las a layouts vetoriais.
Converta arquivos gráficos PSD do Adobe Photoshop em imagens PNG sem perdas e com transparência completa do canal alfa, diretamente no navegador e sem enviar dados a servidores.