Al buscar "compresión PNG", las herramientas principales afirman ser "sin pérdida" y mantener la calidad, pero las tasas de compresión varían enormemente: desde ahorrar un 70% hasta solo un 10%.
La diferencia no está en algoritmos más mágicos, sino en que sus "sin pérdida" no significan lo mismo.
Este artículo aclara esta distinción y recomienda herramientas según el uso.
Primero, distinguir: dos tipos de "sin pérdida"
Sin pérdida real: ningún píxel cambia
PNG es, por sí mismo, un formato sin pérdida. Su tamaño está determinado por dos partes: cómo se organizan y comprimen los datos de píxeles y cuántos metadatos se incluyen en el archivo.
La compresión sin pérdida real se enfoca solo en estos dos puntos:
- Usar un método de almacenamiento más eficiente. Por ejemplo, si la imagen realmente usa solo 200 colores, cambia al modo de paleta; si no hay transparencia, elimina el canal Alpha; si es una imagen en escala de grises, guárdala como tal.
- Probar filtros y parámetros Deflate mejores. Los mismos píxeles pueden tener tamaños muy distintos según el método de codificación. Las herramientas de diseño suelen no buscar el mejor método por velocidad.
- Eliminar metadatos. Información del software de exportación, marcas de tiempo, comentarios de texto, miniaturas, etc.
Al decodificar la imagen comprimida, es idéntica a la original píxel a píxel. El costo es que ahorras poco: solo puede eliminar "el exceso" que quedó por no codificar bien.
"Aparente sin pérdida": cuantización con pérdida
Herramientas como TinyPNG y pngquant ahorran más porque hacen otra cosa: reducen el número de colores de PNG a menos de 256 (cuantización) y luego usan dithering para que no sea visible a simple vista.
Esto es con pérdida, los píxeles ya han cambiado. Funciona muy bien para la mayoría de iconos e ilustraciones web, pero si necesitas "píxeles absolutamente iguales" —como recortes UI que deben coincidir estrictamente con el diseño, capturas para comparación de píxeles o activos que se editarán posteriormente— no deberías usarla.
La forma más simple de determinar si una herramienta es verdaderamente sin pérdida es comparar la original y la comprimida con ImageMagick
compare -metric AE original.png comprimido.png null:
Si la salida es0, significa que ningún píxel ha cambiado.
Recomendación de herramientas PNG sin pérdida real
Línea de comandos: oxipng (recomendado)
oxipng es un optimizador PNG sin pérdida escrito en Rust, que puede verse como el sucesor moderno de la herramienta clásica OptiPNG:
- Multihilo, rápido, ideal para procesamiento por lotes.
-o 0a-o 6(y-o max) para ajustar la intensidad de compresión; más alto es más lento pero ahorra más espacio.- Opcional
--zopflipara compresión adicional, pero es mucho más lento. - Squoosh utiliza oxipng para su compresión PNG sin pérdida.
bash
brew install oxipng
oxipng -o 2 --strip safe -r ./images # Procesar directorio recursivamente, eliminar solo metadatos que no afectan la visualización
Línea de comandos: zopflipng (para volumen máximo)
Desarrollado por Google, utiliza el algoritmo Zopfli para rehacer la compresión Deflate, generalmente puede extraer un poco más que oxipng por defecto, pero es mucho más lento y puede tardar mucho con imágenes grandes. Ideal para recursos estáticos que se comprimen una vez y se usan mucho, como logos de sitios web o iconos integrados en aplicaciones.
Línea de comandos: OptiPNG, pngcrush (clásicos)
Ambos son optimizadores PNG sin pérdida clásicos; todavía se ven en muchas cadenas de herramientas. En función ya está casi cubierta por oxipng, así que no es necesario elegirlos para proyectos nuevos.
Web: Squoosh
Herramienta online de Google; para PNG, el codificador OxiPNG es sin pérdida (asegúrate de no marcar "Reduce palette", que es con pérdida).
Su ventaja es que no requiere instalación y permite comparar lado a lado; su desventaja es que solo puede procesar un archivo a la vez, y al descargar debes cambiarle el nombre y reemplazarlo manualmente. Ideal para comprimir ocasionalmente uno o dos archivos.
Interfaz gráfica Mac: ImageOptim
Herramienta clásica de Mac open source y gratuita que integra internamente oxipng, Zopfli, pngcrush y otros optimizadores, probándolos sucesivamente para obtener el resultado más pequeño. Por defecto es sin pérdida (el modo con pérdida requiere activarlo manualmente).
Ofrece una gran fuerza de compresión, pero cuando todos los optimizadores están activos es lento; además, sobrescribe el archivo original, así que es mejor hacer una copia de seguridad antes de comprimir.
Interfaz gráfica Mac: ImgZilla
ImgZilla es nuestra herramienta de compresión de imágenes para macOS. Su forma de procesar PNG es muy directa:
- Usa oxipng para compresión sin pérdida real, nivel 2 (igual que el de Squoosh), encontrando un equilibrio entre velocidad y tamaño. Ningún píxel cambia, puedes verificarlo con el comando
comparede arriba. - No hace cuantización, no reduce colores, no cambia formato, ni tamaño. PNG sigue siendo PNG después de comprimir.
- Compresión en su lugar: nombre y ruta del archivo no cambian, por lo que las referencias en código y documentos no necesitan ser modificadas.
- Arrastra toda una carpeta: escanea recursivamente subdirectorios, salta automáticamente archivos ocultos y
node_modules; también puede procesar JPG, GIF, WebP, HEIC, AVIF y SVG. - Por defecto, la original va a la papelera, si no te gusta, haz clic derecho en "Restaurar".
- No fuerza la compresión si no mejora mucho: archivos con menos del 0,4% de ahorro se marcan como "ya mínimo", se dejan intactos y no se descuenta del cupo gratuito.
- Se ejecuta completamente localmente, los activos no se suben a ningún servidor.
Hay dos puntos que aclarar:
- No busca el volumen máximo de PNG. El nivel 2 es mucho más rápido que
-o maxo Zopfli, pero puede ahorrar un poco menos de porcentaje. Si tu necesidad es "empujar un logo al último byte", zopflipng o ImageOptim son más adecuados. - Por defecto elimina todos los metadatos de PNG, incluido el perfil de color. Las imágenes sRGB normales no se ven afectadas; pero si la imagen tiene un perfil de color amplio incrustado (como Display P3, común en capturas de Mac o exportaciones de software de diseño), al eliminarlo, el color puede cambiar ligeramente en programas de gestión de color. Para imágenes con requisitos de color estrictos, puedes activar "Conservar información EXIF" en la configuración para mantener los metadatos tal cual.
Resumen en una tabla
| Herramienta | Tipo | Es sin pérdida real | Lotes | Para quién es |
|---|---|---|---|---|
| oxipng | Línea de comandos | ✅ | ✅ | Desarrolladores, procesos de construcción |
| zopflipng | Línea de comandos | ✅ | Necesita script propio | Volumen máximo, no importa la velocidad |
| OptiPNG / pngcrush | Línea de comandos | ✅ | ✅ | Proyectos antiguos |
| Squoosh | Web | ✅ (OxiPNG, sin reducción de paleta) | ❌ Uno a la vez | Ocasional |
| ImageOptim | App Mac | ✅ (por defecto) | ✅ | Usuarios Mac que quieren máxima compresión |
| ImgZilla | App Mac | ✅ | ✅ Arrastrar carpeta | Lotes, no cambiar ruta, poder recuperar |
| TinyPNG / pngquant | Web / Línea de comandos | ❌ Cuantización con pérdida | Varies según versión | Aceptable reducción de color, mayor compresión |
¿Cómo elegir?
- Solo necesitas píxeles iguales y estás dispuesto a usar comandos: oxipng, escríbelo en un script de construcción para hacerlo una vez y para siempre.
- Quieres comprimir un solo archivo al límite: zopflipng.
- Procesamiento gráfico por lotes en Mac: ImageOptim ofrece más fuerza; ImgZilla es más rápido, permite recuperar la original desde la papelera y también puede procesar otros formatos.
- Puedes aceptar una pérdida leve y quieres más tamaño: TinyPNG / pngquant, pero ten claro que ya no es sin pérdida.
Un último recordatorio: cuánto ahorra la compresión sin pérdida depende de cómo se exportó originalmente el PNG. Las imágenes PNG exportadas directamente desde herramientas de diseño o nunca procesadas suelen tener mucho "agua"; las ya optimizadas no se pueden comprimir mucho más —si una herramienta marca "ya mínimo", significa que ya está bien, no es que la herramienta no sirva.
ImgZilla actualmente solo es compatible con macOS (12.3 o superior), disponible en Mac App Store. La versión gratuita permite comprimir 10 imágenes al día; solo se cuenta si la compresión es exitosa —arrastra una carpeta llena de PNGs y usa
comparepara verificar que los píxeles no han cambiado realmente.
