NPM Unused Detector
Built for solo dev velocity

Scan your `package.json` against real imports and remove dead npm weight in minutes.

Paste a GitHub URL or upload package.json + source files. We run AST import analysis, cross-reference dependencies and devDependencies, and produce a safe cleanup list with estimated KB savings.

Upload or GitHub

Supports direct upload or public repository URLs, so cleanup starts where your project already lives.

AST-based import scan

Parses JS/TS source trees directly, reducing false positives from config-heavy toolchains.

Actionable cleanup list

Get a prioritized removable list with estimated package size savings so you can cut bloat confidently.

Why indie developers pay for this

The problem

  • Projects accumulate stale deps after spikes, pivots, and template experiments.
  • CLI output is often noisy, so teams postpone cleanup until package size hurts CI and install time.
  • Dependency debt makes upgrades riskier because no one trusts what can be removed.

The solution

  • Fast hosted scan across your app code using parser-backed import detection.
  • Visual dependency diff grouped by `dependencies` and `devDependencies`.
  • Pay-per-scan for one-offs or monthly unlimited for continuous hygiene.

Pricing

Single Scan

Ideal for one cleanup sprint

$3per scan
  • 1 full dependency scan
  • AST import cross-reference
  • Removable package list
  • Estimated KB savings

Unlimited

For active repos and recurring cleanup

$12per month
  • Unlimited scans
  • GitHub + upload workflows
  • Always-on cleanup baseline
  • Best value for weekly refactors

Secure checkout is handled through Lemon Squeezy overlay.

FAQ

How is this different from depcheck?

depcheck often flags noise in modern TS/Next projects. NPM Unused Detector parses your actual AST imports and keeps build-tool exceptions explicit so the output is cleaner and faster to act on.

What can I upload?

Use either a public GitHub repo URL or upload package.json plus your source folder as direct files or a zip. JavaScript and TypeScript files are supported.

Do you store my code?

Scans are stored as summarized results and import metadata so you can revisit reports. Raw repository uploads are processed server-side for analysis only.

What if my project has special runtime loading?

You still get a strong default signal. For dynamic plugin systems, treat the removable list as a review queue before deleting dependencies.