Paste your package.json. Get your full dependency tree, a treemap of every KB, and a ranked list of exactly what to cut — in under 10 seconds.
Or drag & drop your package.json file above. No account required.
When you check a package on Bundlephobia, you see the size of that package in isolation. What you don't see is the 47 transitive dependencies it drags in. Or whether those sub-dependencies overlap with packages you already installed. Or that the “9 KB” library you just added actually adds 34 KB because it's CommonJS and can't be tree-shaken.
Bundlephobia shows individual packages. Your bundle is a dependency tree, and shared sub-dependencies are counted multiple times when you use it to estimate project cost.
A package listed at 4 KB gzipped can pull in 60 KB of transitive dependencies. Without analyzing the full tree, you're optimizing in the dark.
Even if you find the problem, you need to know what to replace it with, how hard the migration is, and what the actual saving will be. Most tools stop at diagnosis.
Copy and paste the contents of your project's package.json. That's it — no build, no local setup, no CLI to install.
BundlePulse resolves every dependency and sub-dependency, computes the additive bundle cost of each package (accounting for shared sub-dependencies), and renders an interactive treemap.
A ranked list of the highest-impact, lowest-effort changes you can make today. Every recommendation comes with a specific instruction and an estimated KB saving.
BundlePulse resolves up to 5 levels of transitive dependencies. You'll see every package your project pulls in — including the ones you didn't know existed.
When two packages share a sub-dependency, that shared portion is counted once, not twice. The result is an accurate, fair attribution of cost per package.
Rectangles sized by bundle impact. A gradient from green to red. Hover for details. Click to drill into any package's sub-dependency breakdown.
BundlePulse checks whether each package ships an ESM build with proper tree-shaking support. Packages that are fully bundled regardless of what you import are flagged prominently.
For your heaviest packages, BundlePulse surfaces curated lighter alternatives with API compatibility notes. Drop-in replacements are highlighted separately.
The diet plan tells you exactly what to do: which package to replace, what to replace it with, and what code change to make. Best bang-for-your-buck item is always first.
| Feature | BundlePulse | Bundlephobia |
|---|---|---|
| No build required | Yes | Yes |
| Full dependency tree | Yes | No |
| Additive cost per package | Yes | No |
| Tree-shaking classification | Yes | partial |
| Alternative recommendations | Yes | No |
| Ranked diet plan | Yes | No |
| Historical tracking | Pro | No |
| PR size-impact comments | Pro | No |
| Works in 10 seconds | Yes | Yes |
You shipped a Next.js app. Lighthouse gives it a 58 on mobile. Paste your package.json. Get the treemap. See that moment.js is costing you 72 KB gzipped when date-fns would cost 6 KB. Fix it in 20 minutes.
Your team adds dependencies without visibility into size impact. With BundlePulse Pro, every PR that touches package.json gets an automatic size-impact comment. Your team self-enforces the budget.
Historical bundle tracking shows the bundle grew 40 KB after a specific release. The diff shows two new packages were added. The diet plan identifies the 38 KB culprit the developer thought was 4 KB.
No contracts. Cancel any time. The free tier is genuinely free — not a crippled demo.
Paste your package.json and get your full analysis in under 10 seconds.
Analyze My Bundle — FreeNo account required. Works on any JavaScript project.