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
| Metric | date-fns | luxon | Difference |
|---|---|---|---|
| Weekly downloads | 72,360,904 | 27,414,881 | date-fns 2.6x higher |
| 12-month download growth | +129% | +99% | date-fns +30 pts |
| Gzip size | - | - | - |
| Minified size | - | - | - |
| Dependencies | 0 | 0 | Same |
| Unpacked size | 10.4 MB | 4.4 MB | luxon 2.4x smaller |
| Latest release | 4.4.0, 29 May 2026 | 3.7.2, 5 Sept 2025 | date-fns 9 months more recent |
| Releases, last 12 months | 4 | 0 | date-fns 4 more |
| First published | 6 Oct 2014 | 24 May 2017 | date-fns 2.6 years earlier |
| GitHub stars | 36,646 | 16,461 | date-fns 2.2x higher |
| Open issues | 665 | 155 | date-fns 510 more |
| Open pull requests | 353 | 37 | date-fns 316 more |
| Contributors | 431 | - | - |
| Commits, last 52 weeks | 316 | 23 | date-fns 13.7x higher |
| TypeScript types | Bundled | None | Differs |
| Module format | ESM + CommonJS | ESM + CommonJS | Same |
| Runtimes | Browser, Node.js | Browser, Node.js | Same |
| License | MIT | MIT | Same |
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
date-fns
Major versions
- 0.1.06 Oct 2014
- 1.0.018 May 2016
- 2.0.020 Aug 2019
- 3.0.018 Dec 2023
- 4.0.016 Sept 2024
Last 5 releases
- 4.4.029 May 2026
- 4.3.022 May 2026
- 4.2.118 May 2026
- 4.2.018 May 2026
- 4.1.017 Sept 2024
137 releases in total, 4 in the last 12 months
luxon
Major versions
- 0.0.124 May 2017
- 1.0.024 Mar 2018
- 2.0.09 Jul 2021
- 3.0.09 Jul 2022
Last 5 releases
- 3.7.25 Sept 2025
- 3.7.19 Jul 2025
- 3.7.09 Jul 2025
- 3.6.131 Mar 2025
- 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.
- date-fns vs dayjs100 searches/mo
- date-fns vs moment30 searches/mo
- luxon vs dayjs20 searches/mo
- moment vs luxon10 searches/mo
date-fns: date-fns npm registry, date-fns npm downloads, date-fns GitHub, date-fns jsDelivr, date-fns README, date-fns v4.0 announcement. Data fetched 25 Sept 2026.
luxon: luxon npm registry, luxon npm downloads, luxon GitHub, luxon jsDelivr, Luxon README, Why does Luxon exist?, Luxon install guide. Data fetched 25 Sept 2026.
Keyword demand: DataForSEO Google Ads search volume, US, English
Indexability: Indexed: 60 US searches/month across both orderings ("date-fns vs luxon", "luxon vs date-fns").