← Volver al blog

Cómo comprimir GIFs para que sean más pequeños: 6 métodos, ordenados por pérdida de calidad de menor a mayor

Grabé una demostración de operación de 5 segundos, la exporté como GIF y el tamaño fue de 18 MB. Para pegarlo en documentos, enviarlo a grupos o incluirlo en un README, fallaba la subida o tardaba una eternidad en cargar. ¿Por qué un 'animación' es más grande que un vídeo? ¿Cómo reducir su tamaño si…

Compartir

Grabé una demostración de operación de 5 segundos, la exporté como GIF y el tamaño fue de 18 MB.
Para pegarlo en documentos, enviarlo a grupos o incluirlo en un README, fallaba la subida o tardaba una eternidad en cargar.
¿Por qué un "animación" es más grande que un vídeo? ¿Cómo reducir su tamaño sin que se vean ruido en toda la pantalla?


Primero, aclaremos: ¿Por qué los GIF son tan grandes?

GIF es un formato de 1987. Su diseño determina que es "gordo":

  • Cada cuadro es una imagen completa. No tiene la compresión entre cuadros de los vídeos—a menos que se optimice explícitamente al exportar, 100 cuadros son 100 imágenes.
  • El algoritmo de compresión es antiguo. GIF solo usa compresión LZW sin pérdidas, excelente para "colores idénticos consecutivos", pero casi inútil para gradientes, fotos o texturas finas.
  • Máximo de 256 colores por cuadro. Si no hay suficientes colores, la herramienta usa "dithering" (difuminado): puntos de colores granulares simulan la transición. Al ojo humano parecen suaves, pero para LZW son los datos más difíciles de comprimir.

Por lo tanto, el tamaño de un GIF depende principalmente de: tamaño × número de cuadros × cuánto "fragmentado" es cada cuadro. Todos los métodos siguientes atacan estos tres puntos.

Seis métodos, ordenados por pérdida de calidad de menor a mayor

1. Optimización de cuadros: solo guardar la "parte que cambió" (sin pérdida)

Muchas herramientas de grabación de pantalla y software de diseño exportan GIFs donde cada cuadro guarda la imagen completa. Pero en una demostración de operación, a menudo solo el ratón y una pequeña área se mueven.

La optimización de cuadros hace esto: en cada cuadro, solo se mantiene el área rectangular que difiere del anterior; las partes que no cambiaron se representan con píxeles transparentes. Los píxeles transparentes forman una masa sólida, lo que hace que LZW comprima muy eficientemente.

No cambia un solo píxel, el efecto de animación es idéntico, solo que la forma de almacenamiento es más inteligente. Para GIFs con "fondo estático y movimiento local" (grabaciones de pantalla, demostraciones de UI, memes), este paso puede ahorrar mucho.

2. LZW con pérdida: "dar un poco de agua" en el algoritmo de compresión (visualmente sin pérdida)

Esta es la idea detrás del parámetro --lossy de gifsicle: durante la codificación, se permiten pequeñas desviaciones en el color, permitiendo que más píxeles se traten como "del mismo color" para que LZW sea mucho más eficiente.

Sus características son: no reduce el número de colores, no cambia el tamaño, no toca los cuadros. El costo es que aparece un ligero grano en la imagen. Cuanto mayor es el valor, más se ahorra y más visible es el grano. En uso ligero (por ejemplo, --lossy=30~40), es difícil notarlo a la distancia normal de visualización.

3. Reducción de colores: bajar de 256 a 128 o 64

Reducir la paleta de 256 a 128 o 64 colores reduce la información por píxel, mejorando la eficiencia de compresión.

Para ilustraciones minimalistas, iconos animados, grabaciones de UI, donde los colores son pocos, la reducción casi no causa pérdidas; pero para fotos o escenas con muchos gradientes, aparecerán bandas de color y manchas visibles.

4. Eliminar cuadros: reducir la velocidad de fotogramas

Muchos GIFs se exportan a 30 fps o 60 fps, pero GIF no se desempeña bien a altas velocidades; en muchos escenarios 10~15 fps ya es suficiente.

Reducir la mitad el número de cuadros reduce aproximadamente a la mitad el tamaño. El costo es que la acción no es tan fluida—no afecta mucho a las demostraciones de operación, pero sí a las animaciones que requieren fluidez.

5. Reducir el tamaño

El tamaño está básicamente en proporción con el número de píxeles: reducir la mitad el ancho y el alto deja solo una cuarta parte de los píxeles.

Si grabas la pantalla en una pantalla Retina con un ancho original de más de 2000 píxeles, pero solo se mostrará en un lugar de 600~800 píxeles de ancho, exportar según el tamaño de visualización real suele ser el paso con mayor beneficio. El costo es que al ampliar se ve borroso; ten cuidado con la legibilidad del texto.

6. Cambiar de formato: pasar de GIF a vídeo o WebP

Si la plataforma lo permite, el método más definitivo es no usar GIF:

  • MP4 / WebM: El códec de vídeo moderno tiene compresión entre cuadros; el mismo contenido suele tener un tamaño una fracción del de un GIF. En la web, <video autoplay loop muted playsinline> puede lograr el mismo efecto.
  • WebP dinámico / APNG: Soportan más colores y mejor compresión; los navegadores modernos pueden reproducirlos.

El costo es la compatibilidad: muchas aplicaciones de chat, foros, herramientas de documentación y clientes de correo solo reconocen GIF; cambiar de formato puede hacer que no se muestre o no se reproduzca automáticamente.


Una tabla para ver las compensaciones claramente

Método Efecto en calidad Recomendado No recomendado
Optimización de cuadros Ninguna, píxeles iguales Todos los GIFs, especialmente grabaciones y animaciones locales — (debería hacerse siempre)
LZW con pérdida (ligera) Grano extremadamente leve La mayoría de los GIFs Pixel art muy sensible al grano
Reducción de colores Bandas de color en gradientes Ilustraciones planas, iconos, UI Fotos, escenas con muchos gradientes
Eliminar cuadros Movimiento entrecortado Demostraciones de operación, animaciones mayormente estáticas Animaciones que requieren fluidez
Reducir el tamaño Menos detalles Imágenes mucho más grandes que el tamaño de visualización Contenido que requiere leer letras pequeñas
Cambiar de formato Generalmente mejor Web, plataformas donde tienes control Plataformas que solo aceptan GIF

La lógica del orden es: haz primero los que no pierden o pierden muy poco, y luego ve bajando según lo necesites. Si después de los dos primeros pasos ya es suficientemente pequeño, no hace falta sacrificar colores, velocidad de fotogramas o tamaño.


Los dos primeros pasos: ImgZilla puede hacerlos por ti en lote

Si tienes un montón de GIFs—colecciones de memes, animaciones en documentos, directorios de recursos web—es muy cansado ajustar los parámetros uno por uno en una herramienta online.

ImgZilla es una herramienta de compresión de imágenes para macOS que, al procesar GIFs, usa exactamente los dos primeros puntos de la tabla anterior:

  • Basado en gifsicle: primero hace la optimización de cuadros de nivel más alto (equivalente a -O3), y luego superpone LZW con pérdida ligera (equivalente a --lossy=40).
  • Sin reducir colores, sin eliminar cuadros, sin cambiar tamaño, sin tocar la configuración de bucle. La animación sigue siendo la misma; la velocidad de fotogramas, la duración y la resolución no cambian, solo el archivo es más pequeño.
  • Compresión "en su lugar": el nombre del archivo, la ruta y el formato permanecen iguales. El demo.gif que referencia tu documento o página web sigue siendo demo.gif después de comprimirlo, sin necesidad de cambiar ningún enlace.
  • Arrastra toda la carpeta: escanea recursivamente subdirectorios; procesa GIFs junto con JPG, PNG, WebP y otros formatos.
  • No fuerza la compresión si no puede; los archivos ya optimizados o con una tasa de compresión inferior al 0,4% se marcan como "ya mínimo" y se conservan tal cual, sin usar cupos gratuitos.
  • La imagen original se mueve a la papelera por defecto: si no te gusta el resultado, haz clic derecho en "devolver al origen" para restaurar.
  • Se ejecuta completamente localmente, sin subir a ningún servidor, y sin las limitaciones de tamaño de archivo o cantidad de imágenes de las herramientas online—también procesa GIFs de varios MB.

Cuánto se ahorra depende de cómo se exportó el GIF original. Los GIFs de grabación que no han sido optimizados en cuadros y tienen mucha parte estática suelen ahorrar más; los que ya han sido comprimidos por herramientas profesionales podrían dejar solo un pequeño margen, o incluso marcarse como "ya mínimo"—esto es normal.

Lo que ImgZilla NO hace

Para que "la animación se vea igual", ImgZilla no hace los pasos 3~6 por ti. Si después de los dos primeros pasos sigue siendo demasiado grande, por ejemplo, si debes comprimirlo por debajo de un límite de plataforma, debes decidir tú qué sacrificar:

bash

Con gifsicle en línea de comandos: a 128 colores, ancho ajustado a 640, compresión con pérdida más fuerte

gifsicle -O3 --lossy=80 --colors 128 --resize-width 640 input.gif -o output.gif

Con ffmpeg convierte el GIF a MP4 (el volumen suele ser mucho menor)

ffmpeg -i input.gif -movflags +faststart -pix_fmt yuv420p
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4

Para operaciones que requieren seleccionar cuadro por cuadro, como eliminar cuadros o recortar duración, herramientas online como ezgif son más intuitivas.


Un mejor hábito: no exportar GIFs demasiado grandes en la fuente

Tres consejos finales para ahorrarte muchas compresiones en el futuro:

  1. Antes de grabar, reduce la ventana y solo graba el área necesaria, en lugar de toda la pantalla Retina.
  2. Al exportar, elige 10~15 fps; la mayoría de las demostraciones ya son suficientes.
  3. Comprime de inmediato después de exportar; elimina la optimización de cuadros y la pérdida ligera—este paso no requiere juicio, es ideal para automatizarlo con herramientas.

GIF es un formato antiguo, pero sigue siendo el "máximo común divisor" para "reproducir automáticamente en cualquier lugar". En lugar de preocuparte por abandonarlo, haz que cada GIF ocupe solo el espacio que le corresponde.

ImgZilla actualmente solo soporta macOS (12.3 y superior) y está disponible en la Mac App Store. La versión gratuita permite comprimir 10 imágenes por día; solo se cuenta la compresión exitosa—arrastra una carpeta llena de GIFs y descubre cuánto puedes ahorrar.

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

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