Skip to content
JS
Alternatives

luxon alternatives

4 packages that do the same job as luxon: date-fns, dayjs, moment, @wojtekmaj/date-utils. Figures below are from npm, GitHub and Bundlephobia.

Data as of 25 Sept 2026
PackageWeekly downloads12-month changeGzipDependenciesLast releaseModuleTypesRuntimes
luxon
This package
27.4m+99%-01 year agoESM + CommonJSNoneBrowser, Node.js
date-fns72.4m+129%-03 months agoESM + CommonJSBundledBrowser, Node.js
dayjs51.5m+95%-01 month agoCommonJSBundledBrowser, Node.js
moment26.5m+22%-010 days agoCommonJSBundledBrowser, Node.js
@wojtekmaj/date-utils779.3k--01 year agoESM onlyBundled-

12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package (Bundlephobia). Runtimes are taken from each package's own documentation; "-" means not recorded.

Collection of standalone functions for working with native JavaScript Date objects.

  • Functions operate on the native Date type and do not extend core objects.
  • Pure functions that always return a new date instance.
  • v4 added time zone support through the separate @date-fns/tz package, which provides TZDate.
  • Written in TypeScript. Locales are imported individually.

Compared with luxon

  • 2.6x more weekly downloads (72.4m vs 27.4m)
  • Bundled types vs no types
  • Declares no Node.js engine range vs Node.js >=12
  • Last release 29 May 2026 vs 5 Sept 2025
  • 2.2x more GitHub stars (36.6k vs 16.5k)

Date library with a largely Moment.js-compatible API, extended through plugins.

  • Immutable and chainable. The README describes the API as largely Moment.js-compatible.
  • Extra features are added through plugins loaded with dayjs.extend().
  • Time zone support comes from the utc and timezone plugins.
  • Locales are loaded on demand and are not included unless imported.

Compared with luxon

  • 1.9x more weekly downloads (51.5m vs 27.4m)
  • CommonJS vs ESM + CommonJS
  • Bundled types vs no types
  • Declares no Node.js engine range vs Node.js >=12
  • Last release 17 Aug 2026 vs 5 Sept 2025
  • 3.0x more GitHub stars (48.7k vs 16.5k)

Date library for parsing, validating, manipulating and formatting dates.

  • The README says: "Moment.js is a legacy project, now in maintenance mode. New features are not being accepted."
  • The project status page says the mutable API will not be redesigned.
  • The same page says a 3.0 release is no longer ruled out, but only as a maintenance release with no schedule announced.
  • Published as CommonJS.

Compared with luxon

  • About the same weekly downloads (26.5m vs 27.4m)
  • CommonJS vs ESM + CommonJS
  • Bundled types vs no types
  • Declares Node.js * vs Node.js >=12
  • Last release 15 Sept 2026 vs 5 Sept 2025
  • 2.9x more GitHub stars (47.9k vs 16.5k)

A collection of date-related utilities.

Compared with luxon

  • 35x fewer weekly downloads (779.3k vs 27.4m)
  • ESM only vs ESM + CommonJS
  • Bundled types vs no types
  • Declares no Node.js engine range vs Node.js >=12
  • Last release 29 May 2025 vs 5 Sept 2025
  • 784x fewer GitHub stars (21 vs 16.5k)
Sources: npm registry, npm downloads API, GitHub API, Bundlephobia. Data fetched 25 Sept 2026.

Indexability: Indexed: 10 US searches/month for "luxon alternatives".