Tree Shaking Proof

Bundle Size Analysis

LivelyIcons is fully tree-shakeable. Import only the icons you need and your bundle stays small. See the proof below.

1 Icon Import
1.8 KB
gzipped
Savings
98.0%
smaller than full import
Total Icons
1,318
available icons

Bundle Size Comparison

Visual comparison of bundle sizes when importing different numbers of icons. Hover over a bar to see details.

1 icon
1.8 KB
5 icons
2.0 KB
10 icons
2.3 KB
25 icons
3.1 KB
50 icons
4.3 KB
100 icons
7.2 KB
Full import (*)
88.9 KB

Detailed Breakdown

ImportRaw SizeGzip Size% of Full
1 icon5.5 KB1.8 KB2%
5 icons8.2 KB2.0 KB2.3%
10 icons11.7 KB2.3 KB2.59%
25 icons23.2 KB3.1 KB3.53%
50 icons40.7 KB4.3 KB4.84%
100 icons89.8 KB7.2 KB8.11%
Full import (*)1.15 MB88.9 KB100%

Static Icons (RSC Compatible)

Static icons work without Motion and have even smaller bundle sizes.

ImportRaw SizeGzip Size
1 static icon9.3 KB2.4 KB
5 static icons9.3 KB2.4 KB

Prove It Yourself

Why Tree Shaking Works

ESM Exports

All icons use ES module named exports, enabling bundlers to analyze dependencies statically.

No Side Effects

Package.json declares "sideEffects": false, telling bundlers unused exports are safe to remove.

Individual Files

Each icon is in its own file with a single export, making it easy for bundlers to include only what's needed.

Code Splitting

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