Imagen PNG (.png)

Recomendación Estándar

Portable Network Graphics (PNG) es un formato de imagen ráster libre de patentes que admite compresión de datos sin pérdida, colores indexados y un canal alfa con transparencia variable.

Convertir de PNG a JPG

Convertidor gratuito de PNG a JPG en el navegador. Convierte archivos al instante en tu dispositivo.

Comprimir PNG en línea

Privado - los archivos nunca salen de tu dispositivo

Inspección y metadatos

Los sistemas operativos y analizadores de archivos identifican los archivos de PNG inspeccionando la secuencia de bytes binarios inicial:

Selecciona o arrastra archivos aquí

Privado - los archivos nunca salen de tu dispositivo

o pega Ctrl+V
Garantía de privacidad sin transmisión de red: 0 bytes subidos a servidores externos. Todo el procesamiento se realizó de forma local en el entorno seguro de tu navegador.

Firma de cabecera a nivel de bytes (bytes mágicos)

Los sistemas operativos y analizadores de archivos identifican los archivos de PNG inspeccionando la secuencia de bytes binarios inicial:

FIRMA HEXADECIMAL (DESPLAZAMIENTO 0):

89 50 4E 47 0D 0A 1A 0A

REPRESENTACIÓN ASCII: .PNG....

Estandarización: Recomendación W3C (1996) / ISO/IEC 15948:2004

Especificaciones técnicas

Arquitectura del contenedorContenedor binario basado en bloques con verificación CRC32 de 4 bytes por bloque
CompresiónDeflate (codificación LZ77 + Huffman) con 5 filtros predictivos de línea de exploración (None, Sub, Up, Average, Paeth)
Orden de bytes (Endianness)Big-Endian (orden de bytes de red) para longitudes de bloques, dimensiones y CRC
Espacios de colorsRGB, Display P3, Paleta indexada (de 1 a 8 bits), Escala de grises, Color verdadero (24/48 bits)
Canales y estructuraRGB + alfa (hasta 16 bits por canal / RGBA de 64 bits)
Dimensiones máximas2,147,483,647 x 2,147,483,647 píxeles (enteros sin signo de 4 bytes)
TransparenciaCanal alfa variable de 8 o 16 bits para la transparencia
Streaming y progresivoEl algoritmo de entrelazado Adam7, de siete pasadas, permite representar progresivamente las líneas de exploración en 2D

Matriz de comparación técnica: PNG frente a la competencia

Atributo técnicoPNG (Actual)WebPAVIFJPEG
Tipo de compresiónEstrictamente sin pérdida (Deflate + filtros predictivos 2D)Con pérdida (VP8) y sin pérdida (VP8L)Con pérdida (AV1 intra) y sin pérdidaCon pérdida (transformada discreta del coseno)
Transparencia alfaCanal alfa variable completo de 8 bits / 16 bitsCompatible con canal alfa de 8 bitsAdmite alfa de 8, 10 y 12 bitsNo admite canal de transparencia
Tamaño de archivo (fotografías)Suele ocupar más que los formatos con pérdida en fotografías; el tamaño relativo varía según la imagen y el codificador.Puede ocupar menos que JPEG; el resultado varía según la imagen y el codificador.Puede ocupar menos que JPEG; el resultado varía según la imagen y el codificador.Tamaño intermedio de referencia
Tamaño de archivo (gráficos e interfaces)Muy compacto para capturas de pantalla, dibujos lineales y textoExcelente modo sin pérdidaBueno, pero más lento de codificarDeficiente (produce artefactos de oscilación en los bordes nítidos)
Compatibilidad con navegadores100% universal en todos los navegadores desde 1998Compatible con más del 97 % de los navegadores modernosCompatible con más del 93 % de los navegadores modernos100% universal

Modos de corrupción comunes y guía de recuperación hexadecimal

El visor de imágenes muestra «Error fatal: No es un archivo PNG válido» o no puede abrirlo.

Causa raíz: Los primeros 8 bytes se alteraron al transferir el archivo en modo ASCII (0x0D 0x0A pasó a 0x0A o 0x0D 0x0D 0x0A).

Recuperación: Abre el archivo con un editor hexadecimal y Comprueba que los primeros 8 bytes sean «89 50 4E 47 0D 0A 1A 0A». Restaurar exactamente estos bytes de la cabecera suele permitir recuperar la imagen.

pngcheck informa de un error CRC en el bloque IDAT o la imagen se carga solo en parte y las líneas de exploración inferiores aparecen dañadas.

Causa raíz: Hay bits dañados en el flujo zlib comprimido o la suma de comprobación CRC32 de un bloque IDAT no es válida.

Recuperación: Usa pngcheck -f o una utilidad para recuperar flujos Deflate y recalcular los valores CRC32 válidos, o descomprima las líneas de exploración que se conservan hasta el bloque dañado.

La imagen se muestra correctamente en visores de escritorio, pero no en aplicaciones de iOS.

Causa raíz: iOS espera el formato CgBI propietario de Apple, con los bytes reordenados, o bloques de espacio de color no estándar.

Recuperación: Normalice la imagen con «pngcrush -revert-iphone-optimizations» para restablecer el orden RGBA estándar del W3C.

Análisis de seguridad y vectores de ataque al analizador

PNG es compatible con muchos sistemas operativos y aplicaciones. Los riesgos de seguridad incluyen el agotamiento de memoria del decodificador y fragmentos auxiliares maliciosos.

Vectores de ataque conocidos

  • Bloques de metadatos tEXt y zTXt demasiado grandes que pueden provocar una denegación de servicio por agotamiento de memoria (OOM) en descodificadores sin aislamiento.
  • Vulnerabilidades de desbordamiento del búfer del montón en versiones antiguas de libpng (por ejemplo, CVE-2015-8126 en png_set_PLTE).
  • Ataques de descompresión por inundación de píxeles: una imagen pequeña declara dimensiones enormes (por ejemplo, 100 000 x 100 000 píxeles).
  • Exfiltración esteganográfica que oculta cargas útiles cifradas en bloques privados auxiliares (por ejemplo, eXIf o tipos de bloque personalizados).

Mejores prácticas defensivas: Valida siempre las dimensiones de la imagen antes de asignar búferes de píxeles en memoria. Al procesar imágenes que suben los usuarios, elimina los bloques auxiliares no esenciales (eXIf, tEXt) con un saneador que gestione la memoria de forma segura.

Orígenes históricos e hitos

2004Estandarizado internacionalmente como ISO/IEC 15948.
1996Se publica PNG 1.0 como recomendación del W3C.
1995Se crea en el grupo comp.graphics de Usenet como alternativa abierta a GIF, después de que Unisys empezara a cobrar por la patente LZW.

Ventajas principales

  • PNG usa compresión sin pérdida, por lo que codificar una imagen sin cambios no añade pérdidas de compresión; las ediciones o la conversión de color sí pueden cambiar los valores de los píxeles.
  • La transparencia alfa de 8 bits permite una integración fluida en fondos complejos.
  • Los bloques de corrección gamma y cromaticidad ayudan a mostrar las imágenes de forma coherente en distintos monitores.

Limitaciones técnicas

  • Los archivos suelen ser mucho más grandes que los de formatos modernos con pérdida, como WebP o AVIF, cuando se usan para fotografías.
  • El formato PNG estándar no admite animaciones de varios fotogramas de forma nativa (se necesita la extensión APNG).
  • La gran profundidad de color (16 bits por canal) genera búferes de descodificación enormes en memoria sin comprimir.

Curiosidades técnicas interesantes

  • La cabecera mágica de 8 bytes se diseñó específicamente para detectar daños en los finales de línea CR/LF causados por transferencias FTP.
  • El acrónimo recursivo extraoficial para PNG era 'PNG's Not GIF'.
  • Apple utiliza un bloque CgBI propietario en los PNG de las aplicaciones de iOS, que reordena RGBA como BGRA para representar las imágenes directamente en la GPU.

Preguntas técnicas frecuentes

¿Por qué el tamaño de un archivo PNG a veces aumenta cuando se guarda en editores de imágenes?

Los distintos programas usan niveles de compresión Deflate y heurísticas diferentes para los filtros predictivos de líneas de exploración. Programas como Photoshop suelen añadir perfiles de color sin comprimir, bloques de metadatos XMP y bloques IDAT de tamaño no optimizado. Herramientas especializadas como File2File.app Compressor vuelven a evaluar los 5 filtros de líneas de exploración para reducir al mínimo el tamaño del archivo.

¿Cuál es la diferencia entre PNG-8 y PNG-24?

PNG-8 usa una paleta de colores indexados de hasta 256 colores (similar a GIF), por lo que genera archivos muy pequeños, adecuados para iconos sencillos. PNG-24 admite 16,7 millones de colores (color verdadero de 8 bits por canal), mientras que PNG-32 añade un canal alfa de 8 bits.

¿Por qué PNG tiene 5 filtros predictivos de líneas de exploración?

Deflate comprime patrones de bytes repetidos. Como los valores de los píxeles de las fotografías y los degradados cambian gradualmente, PNG aplica a cada línea de exploración uno de cinco filtros (None, Sub, Up, Average o Paeth) que calculan las diferencias entre píxeles adyacentes. Así, los datos del degradado se convierten en secuencias de bytes cercanos a cero, que Deflate comprime mucho mejor.

¿Admite PNG espacios de color CMYK para impresión comercial?

No. La especificación oficial del W3C limita deliberadamente los tipos de color de PNG a escala de grises, color indexado y RGB. Para impresión profesional en CMYK, se necesitan archivos TIFF o PDF.

Pares de conversión de PNG relacionados