Skip to content
JS
Alternatives

dayjs alternatives

6 packages that do the same job as dayjs: date-fns, luxon, moment, @js-joda/core, date-fns-tz, @date-fns/tz. Figures below are from npm, GitHub and Bundlephobia.

Data as of 25 Sept 2026
PackageWeekly downloads12-month changeGzipDependenciesLast releaseModuleTypesRuntimes
dayjs
This package
51.5m+95%-01 month agoCommonJSBundledBrowser, Node.js
date-fns72.4m+129%-03 months agoESM + CommonJSBundledBrowser, Node.js
luxon27.4m+99%-01 year agoESM + CommonJSNoneBrowser, Node.js
moment26.5m+22%-010 days agoCommonJSBundledBrowser, Node.js
@js-joda/core3.1m+91%-02 months agoESM + CommonJSBundled-
date-fns-tz7.5m+77%-01 year agoESM + CommonJSBundled-
@date-fns/tz27m+827%-04 months agoESM + CommonJSBundled-

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 dayjs

  • 1.4x more weekly downloads (72.4m vs 51.5m)
  • ESM + CommonJS vs CommonJS
  • Last release 29 May 2026 vs 17 Aug 2026
  • 1.3x fewer GitHub stars (36.6k vs 48.7k)

Date and time library with DateTime, Duration and Interval types, built on the Intl API.

  • Uses the native Intl API for time zones and locales, so no locale or time zone data files are needed.
  • Some Intl behaviour is browser-dependent, so Luxon's output can differ on older browsers.
  • Written by one of the Moment.js maintainers and hosted under the moment GitHub organisation.

Compared with dayjs

  • 1.9x fewer weekly downloads (27.4m vs 51.5m)
  • ESM + CommonJS vs CommonJS
  • No types vs bundled types
  • Declares Node.js >=12 vs none declared
  • Last release 5 Sept 2025 vs 17 Aug 2026
  • 3.0x fewer GitHub stars (16.5k vs 48.7k)

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 dayjs

  • 1.9x fewer weekly downloads (26.5m vs 51.5m)
  • Declares Node.js * vs none declared
  • Last release 15 Sept 2026 vs 17 Aug 2026
  • About the same number of GitHub stars (47.9k vs 48.7k)

a date and time library for javascript

Compared with dayjs

  • 17x fewer weekly downloads (3.1m vs 51.5m)
  • ESM + CommonJS vs CommonJS
  • Last release 10 Jul 2026 vs 17 Aug 2026
  • 29x fewer GitHub stars (1.7k vs 48.7k)

Time zone support for date-fns v3 with the Intl API

Compared with dayjs

  • 6.8x fewer weekly downloads (7.5m vs 51.5m)
  • ESM + CommonJS vs CommonJS
  • Last release 30 Sept 2024 vs 17 Aug 2026
  • 41x fewer GitHub stars (1.2k vs 48.7k)

date-fns timezone utils

Compared with dayjs

  • 1.9x fewer weekly downloads (27m vs 51.5m)
  • ESM + CommonJS vs CommonJS
  • Last release 21 May 2026 vs 17 Aug 2026
  • 1.3x fewer GitHub stars (36.6k vs 48.7k)
Sources: npm registry, npm downloads API, GitHub API, Bundlephobia. Data fetched 25 Sept 2026.

Indexability: Indexed: 20 US searches/month for "dayjs alternatives".