Quick Start: Creating a .lottie File
Build your first .lottie file from scratch using DotLottieBuilder, then save it to disk.
Quick Start: Creating a .lottie File
This walks through building a .lottie file from scratch with DotLottieBuilder, and saving it to disk.
1. Create a builder
const { DotLottieBuilder } = require("@lottiefiles/dotlottie-io");
const builder = new DotLottieBuilder();
builder.generator("my-tool");2. Add content
Animation JSON and theme JSON are passed as a Buffer (or a JSON string):
builder.addAnimation("intro", JSON.stringify(introLottieJson));
builder.addAnimation("hero", JSON.stringify(heroLottieJson));
builder.addTheme("dark", "Dark Theme", JSON.stringify({ rules: [] }));3. Build
build() is synchronous — no await needed — and returns a ready-to-use DotLottie instance:
const dl = builder.build();
console.log(dl.animationIds()); // ['intro', 'hero']
console.log(dl.themeIds()); // ['dark']4. Save to disk
const { writeFileSync } = require("node:fs");
writeFileSync("output.lottie", dl.toBytes());Adding assets afterward
Images, fonts, and audio can be attached directly on the built DotLottie instance:
const { readFileSync } = require("node:fs");
const storedName = dl.addImage("logo.png", readFileSync("logo.png"));
console.log(storedName); // 'logo.png' (or 'logo_1.png' if that name was already taken)
dl.addAudio("click.mp3", readFileSync("click.mp3"));
writeFileSync("output.lottie", dl.toBytes());See Managing Assets for the full rules on filename deduplication and supported audio formats.
Next up: Quick Start: Loading a .lottie file
Last updated: August 5, 2026 at 11:47 AMEdit this page