Find the native feature that replaces your dependencies

Some of what you installed a library for is now in the platform. Paste a package.json to see which of your dependencies have a native equivalent, what they weigh, and how well the replacement is supported.

Where the catalog stands

Baseline widely available
In every major engine for years. Use these without a fallback.
Baseline newly available
In every major engine, but recently. Check your support target.
Limited availability
Missing from at least one engine. These need a fallback.
56
241
32
12

57% widely available, 21% newly available, 21% limited.

Start here

The rules with a worked demo behind them.

All 56 rules

What this does not claim

A dependency being in your package.json is not proof of what you use it for. Someone installs Framer Motion for layout animations, not for fade-ins. So every finding here is a conditional, and it arrives with the cases where the library is still the better choice.

Sizes describe the whole package, so a total assumes a full replacement that may not apply to you. That is why the number always says "up to".

How this is measured

Your dependency names are matched against the catalog. Version ranges are ignored, nothing else in the file is read, and nothing is stored: the report is encoded in its own URL.

Support status is resolved from web-features@3.36.0, captured 2026-09-06. A rule reports the status of its least-supported required feature, so a rule needing two features is only as available as the worse one.

Sizes are minified and gzipped, from bundlephobia, captured 2026-09-06. They describe a whole package, so a total assumes a full replacement. That is why every figure says "up to".

A dependency being installed is not proof of what it is used for. Read each finding's conditions before changing anything.

Or run it where the code is

npx youmightnotneed

Same catalog, same conditions, no paste. Add --verbose to print every condition, or --json for scripts and agents.