Skip to content
JS
Comparison

date-fns vs luxon

date-fns is a collection of standalone functions for working with native JavaScript Date objects, and luxon is a date and time library with DateTime, Duration and Interval types, built on the Intl API.

Date and timePackage data 25 Sept 2026
date-fnsv4.4.0, 29 May 2026

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

$ npm install date-fns
luxonv3.7.2, 5 Sept 2025

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

$ npm install luxon
Metricdate-fnsluxonDifference
Weekly downloads72,360,90427,414,881date-fns 2.6x higher
12-month download growth+129%+99%date-fns +30 pts
Gzip size---
Minified size---
Dependencies00Same
Unpacked size10.4 MB4.4 MBluxon 2.4x smaller
Latest release4.4.0, 29 May 20263.7.2, 5 Sept 2025date-fns 9 months more recent
Releases, last 12 months40date-fns 4 more
First published6 Oct 201424 May 2017date-fns 2.6 years earlier
GitHub stars36,64616,461date-fns 2.2x higher
Open issues665155date-fns 510 more
Open pull requests35337date-fns 316 more
Contributors431--
Commits, last 52 weeks31623date-fns 13.7x higher
TypeScript typesBundledNoneDiffers
Module formatESM + CommonJSESM + CommonJSSame
RuntimesBrowser, Node.jsBrowser, Node.jsSame
LicenseMITMITSame

Green marks the smaller size or the more recent release. Bold marks the higher count, with no judgement implied. Sizes are for the whole package per Bundlephobia. Growth compares the average of the last 4 weeks with the first 4 weeks of the 52-week series.

date-fns72.4m latest weekluxon27.4m latest week
Week of 23 Sept 2025Week of 15 Sept 2026
Weekly npm downloads, 52 weeks. Y axis starts at zero. Values are not smoothed.

date-fns

Major versions
  1. 0.1.06 Oct 2014
  2. 1.0.018 May 2016
  3. 2.0.020 Aug 2019
  4. 3.0.018 Dec 2023
  5. 4.0.016 Sept 2024
Last 5 releases
  1. 4.4.029 May 2026
  2. 4.3.022 May 2026
  3. 4.2.118 May 2026
  4. 4.2.018 May 2026
  5. 4.1.017 Sept 2024
137 releases in total, 4 in the last 12 months

luxon

Major versions
  1. 0.0.124 May 2017
  2. 1.0.024 Mar 2018
  3. 2.0.09 Jul 2021
  4. 3.0.09 Jul 2022
Last 5 releases
  1. 3.7.25 Sept 2025
  2. 3.7.19 Jul 2025
  3. 3.7.09 Jul 2025
  4. 3.6.131 Mar 2025
  5. 3.6.025 Mar 2025
150 releases in total, 0 in the last 12 months
date-fns

Standalone functions, tree-shakeable

luxon

Chainable, immutable wrapper object

date-fns
  • 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.
luxon
  • 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.
  • Need no runtime dependenciesBoth
  • Module formatBoth ESM + CommonJS
  • Need TypeScript types in the package itselfdate-fns (date-fns: Bundled; luxon: None)
  • Node.js version requirementdate-fns: none declared; luxon: >=12 (engines field in package.json)
  • Need the more recent releasedate-fns (4.4.0 on 29 May 2026 vs 3.7.2 on 5 Sept 2025)
  • Higher weekly npm downloadsdate-fns (72.4m vs 27.4m)

Each line is generated from the data above.

Indexability: Indexed: 60 US searches/month across both orderings ("date-fns vs luxon", "luxon vs date-fns").