← Volver al blog

Recomendación de herramientas de compresión PNG sin pérdida: Distinguir entre "verdadera sin pérdida" y "aparente sin pérdida"

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. Es…

Compartir

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 es 0, 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 0 a -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 --zopfli para 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 compare de 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 max o 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 compare para verificar que los píxeles no han cambiado realmente.

¿Quieres imágenes más ligeras y rápidas?

Descarga ImgZilla y comprime en local: tus imágenes nunca salen de tu Mac.