Lottie: animaciones ligeras para web y apps, y sus límites

Lottie es un formato de animación en JSON para web, iOS y Android. Qué soporta de After Effects, qué no, cómo controlar el peso y cuándo conviene otra opción.

info Definición Rápida
Lottie es un formato de animación basado en JSON que permite reproducir animaciones vectoriales en web, iOS y Android con un peso muy inferior al de un GIF o un vídeo. Se diseña normalmente en After Effects y se exporta con un plugin, así que el diseñador controla el movimiento y el equipo de desarrollo solo lo integra.

¿Qué es Lottie y qué es dotLottie?

Lottie es el formato. LottieFiles lo describe como un formato de archivo de animación basado en JSON, pensado para llevar animaciones a cualquier plataforma con archivos mucho más pequeños que un GIF o un vídeo. Su ayuda indica que funciona en web, iOS, Android y más (LottieFiles, “What is Lottie and dotLottie”).

dotLottie es un formato abierto que mejora el JSON original: un archivo .lottie comprimido que empaqueta la animación, las imágenes y las fuentes en un solo paquete. LottieFiles afirma que puede ser hasta un 80% más pequeño que el JSON estándar. Es una cifra del proveedor, sin método de medición publicado, así que mide con tus propios archivos.

dotLottie también puede llevar dentro máquinas de estado: una lógica embebida con estados, transiciones y entradas (numéricas, de texto, booleanas o eventos) que permite que la animación responda a gestos o eventos del usuario (LottieFiles, “State machines”). Un archivo Lottie JSON clásico, en cambio, solo reproduce la secuencia.

¿Por qué le importa a un diseñador?

Porque es la forma más barata de meter movimiento de calidad en una interfaz sin que el desarrollador programe cada fotograma. Un icono de éxito, una animación de carga o una ilustración que se mueve al entrar en pantalla pueden salir de After Effects o de Figma y funcionar en varias plataformas.

También te obliga a entender sus límites antes de diseñar. Una animación que parece perfecta en After Effects puede no reproducirse igual, o pesar demasiado, si usa funciones que el formato no soporta.

¿Qué soporta y qué no de After Effects?

La documentación de compatibilidad de LottieFiles separa tres grupos:

  • Sin soporte. Expresiones, cámaras, luces, adjustment layers, la mayoría de efectos (por ejemplo, CC Particle World o Liquify), Glow, audio y capas guía.
  • Soporte parcial. Drop Shadow, Blur, texto con animadores avanzados, rotación 3D en los ejes X e Y, mates de luminancia, gradientes complejos, time remapping y roving keyframes.
  • Soporte directo. Capas de forma, keyframes de posición, escala, rotación y opacidad, entre otras.

La recomendación es clara: convierte las expresiones en keyframes antes de exportar, usa capas de forma en lugar de raster, convierte el texto a contornos o usa la fuente en el runtime, simula la cámara con movimientos 2D y añade el audio en la aplicación, no en la animación (LottieFiles, “Lottie compatibility”). Varias filas de esa tabla están marcadas como sin probar, así que verifica tu caso concreto.

¿Cómo controlar el peso?

LottieFiles identifica las imágenes como el mayor factor de peso: cada capa de imagen se incrusta como PNG dentro del archivo. Por eso, cuando puedas, dibuja con formas. Otros consejos de la guía de preparación de composiciones:

  • Frame rate. 24 fps es el más ligero y 30 fps el habitual. Según la guía, 60 fps pesa aproximadamente el doble que 30 fps. Úsalo solo en animaciones cortas y con mucho movimiento.
  • Keyframes y área de trabajo. Elimina keyframes redundantes y recorta el área de trabajo: según la guía, las keyframes fuera de ese rango engordan el JSON sin afectar la reproducción.
  • Anidación. Pre-compón solo los grupos reutilizables. Cada nivel de anidación añade trabajo en tiempo de ejecución.
  • Versión optimizada. La exportación .lottie optimizada suele ser entre 30% y 60% más pequeña con la misma reproducción, según LottieFiles. Es una afirmación del proveedor: mide con tu archivo.

Ejemplo

Ejemplo ilustrativo: una app de pedidos tiene un spinner de carga que es un GIF de 1,8 MB. El equipo rediseña la animación en After Effects con formas vectoriales, elimina una expresión de rebote convirtiéndola en keyframes, reduce el área de trabajo a los dos segundos del ciclo y exporta en 30 fps. El archivo queda en unos 40 KB. La animación se reproduce igual en Android e iOS, y el equipo la carga de forma diferida, solo cuando aparece la pantalla de pedidos. El cambio no es estético: la pantalla deja de tardar en mostrar algo.

¿Cuándo NO conviene usar Lottie?

  • Cuando la interactividad es el centro del componente. El Lottie clásico reproduce una secuencia, y las máquinas de estado de dotLottie cubren casos sencillos de interacción. Si el botón debe reaccionar a muchos estados y entradas, compara con Rive, que define sus máquinas de estado como la lógica que controla las animaciones interactivas de un archivo Rive (documentación de Rive).
  • Cuando la animación depende de efectos no soportados. Un humo complejo o una cámara en 3D no se traducen bien.
  • Cuando el diseño cambia cada semana. Cada cambio exige reexportar y revisar el peso.
  • Cuando el movimiento es decorativo y pesado. Una animación que no aporta información puede costar más de lo que vale, sobre todo en móvil.

Errores comunes

  • Exportar sin revisar la matriz de compatibilidad y descubrir el problema en producción.
  • Usar imágenes raster dentro de la animación sin necesidad.
  • Dejar keyframes redundantes que multiplican el peso.
  • Cargar todas las animaciones al inicio en lugar de hacerlo de forma diferida.
  • Ignorar el movimiento reducido en animaciones que se repiten en bucle.

Cómo empezar mañana

Elige una animación de tu producto que hoy sea un GIF o un vídeo. Pásala a After Effects con formas vectoriales, quita expresiones y revisa la matriz de compatibilidad. Exporta en 30 fps y compara el peso con el original. Pide a desarrollo que la pruebe en un dispositivo de gama media. Y antes de ponerla en bucle, revisa las estrategias de movimiento reducido de la wiki, porque una animación que se repite sin pausa es el primer caso que se debe ajustar.

Fuentes

Preguntas frecuentes

¿Qué es Lottie?
Es un formato de animación basado en JSON que permite reproducir animaciones vectoriales en web, iOS y Android. Se suele exportar desde After Effects con un plugin, y es más liviano que un GIF o un vídeo.
¿Qué es dotLottie?
Es un formato abierto que empaqueta el JSON de la animación, sus imágenes y sus fuentes en un solo archivo .lottie comprimido, y puede incluir máquinas de estado para animaciones interactivas. LottieFiles afirma que puede ser hasta un 80% más pequeño que el JSON estándar.
¿Lottie soporta todas las funciones de After Effects?
No. Las expresiones, cámaras, luces, adjustment layers, audio y la mayoría de efectos no son compatibles. Algunas funciones son parciales. Conviene convertir las expresiones en keyframes antes de exportar y revisar la matriz de compatibilidad.
¿Cómo reduzco el peso de una animación Lottie?
Usa formas vectoriales en lugar de imágenes raster, elimina keyframes redundantes, recorta el área de trabajo, usa 24 o 30 fps salvo que haga falta más y exporta la versión optimizada .lottie. Mide el resultado en tu app.