Is moment still maintained?
No — moment stopped being maintained around September 2020. moment's own maintainers named luxon as the successor.
- Status
- No longer maintained
- Last maintained
- September 2020
- Use instead
luxon— on npm- Succession
- Successor named by the maintainers
- Drop-in
- no — expect code changes
- Confidence
- medium
What should I use instead of moment?
moment's own maintainers named luxon as the successor. luxon is not a drop-in replacement, so expect to change call sites.
How to migrate from moment to luxon
Luxon is immutable and Intl-based, so moment() becomes DateTime.now() and format tokens differ. If you only format or diff dates, native Intl.DateTimeFormat may remove the dependency entirely.
Why moment is on this list
The Moment team publishes a Project Status page describing Moment as a legacy project in maintenance mode: it is "not dead, but it is indeed done", with security fixes and time zone data still landing but no new features and no API changes. Its mutable API and bundle size cannot be changed without breaking every existing user. The same page names Luxon, written by a long-time Moment contributor, as "the evolution of Moment", while listing Day.js, date-fns and js-Joda alongside it, so the right choice depends on the codebase.
The succession is well supported, but it is not the only defensible choice.
moment alternatives
Beyond the primary recommendation, these are credible for moment's use case:
date-fns— view on npmdayjs— view on npm@js-temporal/polyfill— view on npm@js-joda/core— view on npm
Check your own project for moment
npx dead-deps --all --min-state unmaintained
Run that in the directory holding your lockfile. If moment 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:
- Moment.js official Project Status pagemomentjs.com
- Luxon repository (moment/luxon)github.com
Packages related to moment
- eslint-loaderSuccessor named by the maintainers: eslint-webpack-plugin · unmaintained since April 2020
- shortidSuccessor named by the maintainers: nanoid · unmaintained since October 2020
- babel-preset-es2015Successor named by the maintainers: @babel/preset-env · unmaintained since April 2017
- create-react-appSuccessor named by the maintainers: vite · unmaintained since February 2025
- extract-text-webpack-pluginSuccessor named by the maintainers: mini-css-extract-plugin · unmaintained since…
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.