Bundle Size Analysis
LivelyIcons is fully tree-shakeable. Import only the icons you need and your bundle stays small. See the proof below.
Bundle Size Comparison
Visual comparison of bundle sizes when importing different numbers of icons. Hover over a bar to see details.
Detailed Breakdown
| Import | Raw Size | Gzip Size | % of Full |
|---|---|---|---|
| 1 icon | 5.5 KB | 1.8 KB | 2% |
| 5 icons | 8.2 KB | 2.0 KB | 2.3% |
| 10 icons | 11.7 KB | 2.3 KB | 2.59% |
| 25 icons | 23.2 KB | 3.1 KB | 3.53% |
| 50 icons | 40.7 KB | 4.3 KB | 4.84% |
| 100 icons | 89.8 KB | 7.2 KB | 8.11% |
| Full import (*) | 1.15 MB | 88.9 KB | 100% |
Static Icons (RSC Compatible)
Static icons work without Motion and have even smaller bundle sizes.
| Import | Raw Size | Gzip Size |
|---|---|---|
| 1 static icon | 9.3 KB | 2.4 KB |
| 5 static icons | 9.3 KB | 2.4 KB |
Prove It Yourself
Why Tree Shaking Works
All icons use ES module named exports, enabling bundlers to analyze dependencies statically.
Package.json declares "sideEffects": false, telling bundlers unused exports are safe to remove.
Each icon is in its own file with a single export, making it easy for bundlers to include only what's needed.
tsup builds with splitting enabled, allowing shared code to be extracted without duplication.
Last measured: 1/3/2026 | Package: livelyicons@1.0.1 | Bundler: esbuild | Target: es2020