dotLottieLoader for Flutter

pub package

dotLottieLoader is a library to help downloading and deflating a .lottie file, giving access to the animation, as well as the assets included in the bundle. This repository is an unofficial conversion of the dotottieloader-android library in pure Dart.

It works on Android, iOS, macOS, linux, windows and web.


flutter pub add dotlottie_loader

Also install lottie package to render the animations.


loading from app assets

                  frameBuilder: (BuildContext ctx, DotLottie? dotlottie) {
                if (dotlottie != null) {
                  return Lottie.memory(dotlottie.animations.values.single);
                } else {
                  return Container();

loading from network

                frameBuilder: (ctx, dotlottie) {
                  if (dotlottie != null) {
                    return Lottie.memory(dotlottie!.animations.values.single);
                  } else {
                    return Container();
                errorBuilder: (ctx, e, s) {
                  return Text(e.toString());

loading with images

frameBuilder: (ctx, dotlottie) {
if (dotlottie != null) {
return Lottie.memory(dotlottie.animations.values.single,
imageProviderFactory: (asset) {
return MemoryImage(dotlottie.images[asset.fileName]!);
} else {
return Container();

DotLottie data

class ManifestAnimation {
   String id;
  double speed;
  String? themeColor;
  bool loop;

  ManifestAnimation(, this.speed, this.themeColor, this.loop);

class Manifest {
  String? generator, author;
  int? revision;
  String? version;
  late List<ManifestAnimation> animations;
  Map<String, dynamic>? custom;

  Manifest(this.generator,, this.revision, this.version,
      this.animations, this.custom);

class DotLottie {
  Manifest? manifest;
  Map<String, Uint8List> animations;
  Map<String, Uint8List> images;

  DotLottie(this.manifest, this.animations, this.images);

View documentation, FAQ, help, examples, and more at