← Volver al blog

Comprimir PNG transparentes en lote sin romper los bordes del logo

Acabas de terminar un pack de assets para tu tienda online. Dieciséis PNG transparentes — logos en tres tamaños, algunas esquinas, un par de diseños de sticker. Se ven perfectos en Figma. Los exportas como PNG con transparencia activada, sueltas la carpeta al escritorio y revisas el tamaño total: 2,4 MB. Para dieciséis gráficos pequeños. En móvil son dos segundos de carga antes de que empiece lo demás.

Así que los pasas por un compresor. Los tamaños bajan dramáticamente — genial. Pero subes una de las versiones comprimidas a tu tienda y notas algo raro en los bordes del logo: una línea blanca fina donde había un desvanecimiento suave. O escalones dentados a lo largo de un borde curvo. Esa es la trampa de compresión de PNG transparente y casi nadie habla de ella porque la mayoría de herramientas ocultan el problema detrás de un preview demasiado pequeño. Voy a mostrar qué pasa exactamente debajo del capó, darte números reales y decirte qué enfoque sirve para qué tipo de asset.

Los números: un logo transparente real, tres caminos de compresión

Construí una imagen de prueba específicamente para esto: una composición de 1200×1200 píxeles con un badge de logo central, un resplandor difuminado (alfa suave) y varios stickers de bordes duros en las esquinas. Usa RGBA — cuatro canales en vez de tres — así que cada píxel lleva rojo, verde, azul y opacidad. La pasé por tres caminos y medí todo:

MétodoTamañoAhorro¿Alfa suave preservado?
Original (RGBA sin optimizar)156,6 KBSí — 649.298 píxeles alfa parcial
Re-codificación lossless (solo optimize)126,0 KB−19,6%Sí, píxeles idénticos
PNG8 cuantizado (256 colores, alfa 1-bit)11,3 KB−92,8%No — cero píxeles alfa parcial
Mismo logo transparente antes (156,6 KB con resplandor suave) y tras compresión PNG8 (11,3 KB con halo de borde duro). Zoom de borde muestra la transición suave-a-duro.
Un logo transparente de 156,6 KB comprimido a 11,3 KB vía PNG8 — reducción del 92,8%. El panel izquierdo muestra el original con su resplandor difuminado desvaneciéndose suavemente hacia la transparencia. El panel central muestra el resultado PNG8: el resplandor se convirtió en un anillo duro porque el codificador redondeó cada valor alfa parcial a totalmente opaco o totalmente transparente. El panel derecho amplía el borde — se ve el patrón escalonado donde el gradiente suave se volvió binario encendido/apagado. Las formas de bordes duros (badges, estrella, stickers) lucen idénticas. Solo la zona de resplandor suave sufre.

Qué hace PNG8 realmente (y por qué destroza bordes suaves)

PNG8 significa PNG indexado. En lugar de almacenar un valor RGB separado para cada píxel, el codificador construye una paleta — hasta 256 colores totales — y cada píxel es solo un número que apunta a una entrada de paleta. Esto es drásticamente más pequeño porque un byte por píxel reemplaza tres (o cuatro con alfa).

El problema está en cómo PNG8 almacena la transparencia. En un PNG indexado, cada entrada de paleta recibe un único valor de transparencia. La mayoría de codificadores redondea eso a totalmente transparente o totalmente opaco — no hay espacio para "37% semitransparente". Cada píxel que era semitransparente (bordes anti-aliasing, sombras paralelas, resplandores, desvanecimientos graduales) salta a uno de los dos extremos.

En mi imagen de prueba, el original tenía 649.298 píxeles con valores alfa intermedios — todo el resplandor suave más el anti-alising alrededor del círculo y la estrella. Después de la conversión PNG8 usando el mismo motor que usa nuestro sitio web (upng-js con cuantización median-cut, redondeo de alfa a 1-bit), ese número cayó exactamente a cero. Cada uno de esos 649 mil píxeles se volvió 255 (opaco) o 0 (transparente). Visualmente, ese es el halo que ves en el panel central arriba: un anillo duro donde el resplandor solía desvanecerse suavemente.

¿Importa? Depende completamente de lo que haya dentro de tu PNG transparente.

Cuándo PNG8 es perfectamente seguro (úsalo sin miedo)

Si tu imagen transparente contiene solo formas de bordes duros — logos de color plano, iconos planos, stickers cuadrados o redondeados, recortes de producto fotografiados contra fondo blanco puro — PNG8 es básicamente dinero gratis. El canal alfa no tiene nada suave que arruinar, y obtienes una reducción de tamaño de más del 90% con cambio visual cero.

Cuándo PNG8 te muerde (evítalo o trabájalo)

Si tu asset cae en esta categoría, tienes tres opciones:

  1. Aplana el efecto primero. Fusiona la capa de resplandor/sombra sobre un color de fondo sólido, luego exporta como PNG o JPEG no transparente. Ahora no tienes alfa que arruinar. Comprime normalmente. Así es como la mayoría de diseñadores profesionales manejan assets de producción final.
  2. Usa solo optimización lossless. Salta PNG8. Pasa el archivo por un optimizador PNG lossless (OxiPNG, zopfli) que recodifica el flujo deflate más eficientemente sin tocar valores de píxel. Ahorrarás quizás 15–25% en vez de 93%, pero cada píxel queda exactamente como se diseñó. Suficiente para imágenes hero y logos de cabecera donde la calidad no es negociable.
  3. Aceptalo y verifica en tamaño de visualización. Comprime como PNG8, descarga el resultado, ábrelo lado a lado con el original al tamaño real en que aparecerá en tu página web (no ampliado). Si el halo es invisible a 1:1, úsalo. La mayoría de usuarios ven logos a 80–200 px de ancho donde un halo de 2 px está bajo el umbral de percepción. Pero no asumas — revisa.

Flujo de trabajo en lote: comprimir 20 PNG transparentes a la vez

Una vez que sabes qué método va con cada asset, el paso real de compresión toma unos diez segundos. Aquí está mi flujo:

  1. Reúne tus PNG transparentes. Ponlos todos en una carpeta. Mezcla de logos, stickers, recortes — lo que necesite achicar.
  2. Revisa cada uno rápidamente al 200% de zoom. Busca bordes suaves, resplandores o áreas desvanecidas cerca de los límites de forma. Separa en dos montones: "solo bordes duros" y "tiene alfa suave".
  3. Suelta todo el lote en un compresor basado en navegador. La herramienta que uso acepta hasta 20 archivos a la vez, corre íntegramente en tu navegador (nada sube a servidor), y detecta el formato automáticamente. Sube los 20 en un solo arrastrar-y-soltar.
  4. Deja que el motor corra PNG8. Para el montón de bordes duros, la salida predeterminada ya es óptima. Para el montón de alfa suave, previsualiza cada resultado a 1:1 antes de decidir si conservarlo o cambiar a modo lossless.
  5. Descarga el lote. Un clic descarga todo como archivos individuales. Los nombres de archivo se mantienen. Suelta directo en tu CMS o subidor de plataforma.
  6. Tiempo total desde carpeta-abierta hasta descarga terminada: unos 30 segundos para un lote de 20 archivos. Sin instalación de software. Sin creación de cuenta. Y críticamente, tus archivos originales nunca salieron de tu dispositivo — la compresión ocurrió localmente en tu pestaña de navegador.

    Errores que desperdician horas (yo cometí la mayoría)

    • Convertir PNG transparentes a JPEG.Esto destruye el canal alfa por completo. Tus áreas transparentes se llenan de blanco (o negro). JPEG no tiene concepto de transparencia. Toda plataforma que espere un logo transparente lo rechazará o representará mal. Mantén los PNG como PNG.
    • No verificar halos antes de subir en masa.Comprimes 50 logos, te sientes bien con la victoria del 90%, subes todo a tu tienda, y tres días después un cliente te escribe: "tu logo se ve roto en mi celular". Ahora tienes que rehacer todo. Verifica punto a punto a 1:1 primero.
    • Usar compresores del lado servidor para assets no publicados. Tu material de marca previo al lanzamiento viaja al servidor de alguien más. Las herramientas del lado navegador evitan esto completamente — el archivo nunca sale de tu máquina.
    • Asumir que todos los PNG se comportan igual.Un captura guardada como PNG se comprime bien con PNG8 (son mayormente colores planos). Una foto guardada como PNG ya está mal (debería ser JPEG). Un logo transparente con resplandor es una tercera categoría con sus propias reglas. Empareja el método con el tipo de contenido.
    • Sobre-cuantizar a 64 o menos colores.Ir de 256 a 128 o 64 apenas ahorda bytes adicionales (mi prueba mostró 11,3 KB en los tres niveles — la paleta ya era bastante pequeña a 256). Pero la calidad visual degrada notablemente: aparecen bandas en gradientes, los colores cambian. Quédate en 256 a menos que necesites un objetivo de tamaño muy específico bajo 10 KB.

    Guías relacionadas para situaciones específicas

    Tus necesidades de PNG transparente pueden conectar con otras tareas de imagen. Estas guías cubren temas adyacentes en profundidad:

    La conclusión

    Los PNG transparentes están sobredimensionados porque RGBA añade un cuarto canal y la mayoría de herramientas de diseño los exportan sin optimizar. La compresión PNG8 (cuantización de paleta median-cut con alfa 1-bit) puede reducirlos en más del 90% en una pestaña de navegador sin instalación de software. Lo único que debes vigilar es el alfa suave — resplandores, sombras paralelas, texto anti-aliasing — que PNG8 convierte en bordes duros. Si tus assets no tienen ninguno de esos, comprime sin dudarlo. Si los tienen, aplana el efecto, usa modo lossless, o verifica en tamaño de visualización que el halo sea invisible.

    Tu logo merece verse nítido en cada pantalla. También merece cargar rápido. Ambos objetivos son alcanzables — solo necesitas elegir el camino correcto para el asset específico que tienes entre manos.

Comprime tus PNG transparentes ahora

Suelta hasta 20 PNG transparentes a la vez. El modo PNG8 los reduce 90%+ mientras preserva transparencia para logos de bordes duros. Previsualiza antes de descargar. Gratis, corre íntegramente en tu navegador, nada sale de tu dispositivo.

Comprimir imágenes gratis →
Sobre el autor: Chuan
Desarrollador independiente que construyó CompactJPG tras ver a diseñadores luchar con PNG transparentes demasiado grandes para subir web o arruinados por conversores JPEG. Todo corre en tu navegador porque tus assets de marca pertenecen a tu dispositivo, no al de alguien más.