Imagen PNG (.png)
Recomendación EstándarPortable 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:
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 0AREPRESENTACIÓN ASCII: .PNG....
Estandarización: Recomendación W3C (1996) / ISO/IEC 15948:2004
Especificaciones técnicas
| Arquitectura del contenedor | Contenedor binario basado en bloques con verificación CRC32 de 4 bytes por bloque |
| Compresión | Deflate (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 color | sRGB, Display P3, Paleta indexada (de 1 a 8 bits), Escala de grises, Color verdadero (24/48 bits) |
| Canales y estructura | RGB + alfa (hasta 16 bits por canal / RGBA de 64 bits) |
| Dimensiones máximas | 2,147,483,647 x 2,147,483,647 píxeles (enteros sin signo de 4 bytes) |
| Transparencia | Canal alfa variable de 8 o 16 bits para la transparencia |
| Streaming y progresivo | El 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écnico | PNG (Actual) | WebP | AVIF | JPEG |
|---|---|---|---|---|
| Tipo de compresión | Estrictamente sin pérdida (Deflate + filtros predictivos 2D) | Con pérdida (VP8) y sin pérdida (VP8L) | Con pérdida (AV1 intra) y sin pérdida | Con pérdida (transformada discreta del coseno) |
| Transparencia alfa | Canal alfa variable completo de 8 bits / 16 bits | Compatible con canal alfa de 8 bits | Admite alfa de 8, 10 y 12 bits | No 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 texto | Excelente modo sin pérdida | Bueno, pero más lento de codificar | Deficiente (produce artefactos de oscilación en los bordes nítidos) |
| Compatibilidad con navegadores | 100% universal en todos los navegadores desde 1998 | Compatible con más del 97 % de los navegadores modernos | Compatible con más del 93 % de los navegadores modernos | 100% 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
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
Convertir imágenes ráster PNG a JPEG reduce su tamaño mediante compresión con pérdida, lo que permite que se carguen más rápido en sitios web y ocupen menos espacio de almacenamiento.
Convertir una imagen JPEG con pérdida a una imagen PNG sin pérdida evita una pérdida adicional de calidad y añade compatibilidad con la transparencia del canal alfa.
Convertir imágenes PNG a WebP puede reducir el tamaño y conservar la transparencia. El resultado depende de si se usa codificación con pérdida o sin pérdida y del contenido de la imagen.
Convierte imágenes WebP a PNG cuando necesites ese formato o quieras conservar la transparencia. El tamaño depende de la imagen y de los ajustes de conversión.
Convertir HEIC a PNG transforma fotos comprimidas con HEVC con pérdida en archivos gráficos sin pérdida ampliamente compatibles.
La conversión de archivos vectoriales SVG a imágenes ráster PNG transforma gráficos escalables basados en código en cuadrículas de píxeles fijos para lograr una compatibilidad universal con las aplicaciones.
Encapsula imágenes ráster PNG en un contenedor vectorial XML SVG para escalarlas de forma adaptable en la web e integrarlas en diseños compatibles con vectores.
Convierte gráficos PSD de Adobe Photoshop en imágenes PNG sin pérdida con transparencia completa en el canal alfa directamente en tu navegador, sin transmisión al servidor.