Is popper.js still maintained?
No — popper.js stopped being maintained around January 2020. The same project continues under the name @popperjs/core.
- Status
- No longer maintained
- Last maintained
- January 2020
- Use instead
@popperjs/core— on npm- Succession
- Renamed package
- Drop-in
- no — expect code changes
- Confidence
- high
What should I use instead of popper.js?
The same project continues under the name @popperjs/core. @popperjs/core is not a drop-in replacement, so expect to change call sites.
How to migrate from popper.js to @popperjs/core
v2 is a rewrite: new Popper(ref, popper, opts) becomes createPopper(ref, popper, opts), and modifiers become an array rather than an object. Floating UI publishes a further migration guide if you want to go all the way.
Why popper.js is on this list
Popper v1 shipped as the unscoped popper.js package; from v2 the project moved to @popperjs/core, and the old package carries an npm notice saying it is dedicated to the legacy v1. popper.js last released 1.16.1 in January 2020. @popperjs/core is what Bootstrap 5 and most consumers depend on, but it is itself stable rather than actively developed — 2.11.8 from May 2023 is current — because the project has since been renamed again to Floating UI, where new work happens.
The succession is settled: primary sources agree and the ecosystem has already moved.
popper.js alternatives
Beyond the primary recommendation, these are credible for popper.js's use case:
@floating-ui/dom— view on npm
Check your own project for popper.js
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If popper.js is anywhere in your tree — a direct dependency or buried under something else — it appears in the report with this verdict, this successor and the same evidence links, alongside anything else that has stopped moving. Nothing is uploaded; the scan reads your lockfile locally and queries public registry metadata.
Exit code 1 means something was flagged, which makes npx dead-deps --min-state deprecated usable as a CI gate. See how verdicts are produced.
Evidence
Every claim on this page traces to a primary source. Check them:
- npm deprecation notice on popper.js pointing at @popperjs/corenpmjs.com
- Floating UI repository, formerly popperjs/popper-core ("Popper is now Floating UI")github.com
- Floating UI migration guidefloating-ui.com
Packages related to popper.js
- @hapi/joiRenamed package: joi · unmaintained since March 2020
- babel-eslintRenamed package: @babel/eslint-parser · unmaintained since February 2020
- cucumberRenamed package: @cucumber/cucumber · unmaintained since December 2020
- rollup-plugin-babelRenamed package: @rollup/plugin-babel · unmaintained since March 2020
- @material-ui/coreRenamed package: @mui/material · unmaintained since September 2021
See the full index of covered packages, or read the methodology for how a verdict is reached and why a quiet package is not a dead one.