About lottie-mini
lottie-mini is an open-source toolkit for compressing, previewing, and analyzing Lottie animation files entirely inside the browser. This page explains why it exists, who's behind it, and where it's going.
The origin story
In early 2026 I was working on a mobile web project when a designer handed me a Lottie animation and said it was "small." The file was 71 megabytes — a JSON document with hundreds of PNG frames base64-encoded inside it. Every existing Lottie optimizer I tried either refused files over 20 MB, only touched vector data (leaving the embedded PNGs untouched), or required uploading the file to a server I didn't trust with pre-release brand assets.
I spent the next weekend building the compression pipeline that eventually became lottie-mini. The core insight was straightforward: the bytes are in the embedded PNGs, and re-encoding them to WebP with optional frame skipping fixes 95% of "huge Lottie" cases in one pass. Getting it to work reliably across every browser, dotLottie format variants, and weird Bodymovin exports took the rest of the year.
Who's behind it
My name is Alex Chu (朱枝文). I'm a software engineer based in Shanghai, working primarily on frontend and web tooling. I write open-source projects when I encounter problems that I can't solve with existing tools — lottie-mini started as one of those. You can find my other projects at github.com/Alex92908. I'm reachable at alex.chu0206@gmail.com.
Project philosophy
Three things guide every decision on this project:
- Local-first. Nothing is uploaded to any server. Every operation runs in your browser using WebAssembly and Web Workers. This isn't a performance choice — it's a trust choice. People who work with unreleased brand assets shouldn't have to upload them to a third party just to shrink a file.
- No artificial limits. No file size cap. No account required. No paid tier. No rate limiting. If the browser can handle the file, the tools handle it.
- Explain, don't just do. The Inspector shows you exactly what's in your file. The Guide articles document the pipeline. The source code is on GitHub. If a user disagrees with a compression decision, they should be able to see why it was made.
What's on the site
- Compressor — the main tool. Drop a .json or .lottie file, choose a preset, download the compressed result.
- Preview — side-by-side Lottie playback for comparing versions or verifying that compression didn't break the animation.
- Inspector — full JSON analyzer and editor. Shows file-size breakdown, ranks the largest embedded assets, and lets you edit any field with undo/redo.
- Guide — three long-form articles on why Lottie files get large, best practices for shipping them, and how the compression pipeline works.
Roadmap
Near-term I'm working on: a standalone npm CLI so people can run the pipeline in CI, AVIF support alongside WebP for browsers that decode it (currently only some of the newer Lottie players do), and a REST API for people who want to script batch conversion at scale.
If there's something you'd like the tool to do that it doesn't, please email me or open an issue on GitHub. Small independent tools live and die by whether their users tell them what to build next.
Support
lottie-mini is free and always will be. If it saved you meaningful engineering time and you want to say thanks, the most valuable thing you can do is star the GitHub repository or share the site with a colleague who might need it. Written testimonials and case studies are also welcome — email me and we can talk about featuring your use case in the guide.