Comparison
luxon vs dayjs
luxon is a date and time library with DateTime, Duration and Interval types, built on the Intl API, and dayjs is a date library with a largely Moment.js-compatible API, extended through plugins.
Date and timePackage data 25 Sept 2026
| Metric | luxon | dayjs | Difference |
|---|---|---|---|
| Weekly downloads | 27,414,881 | 51,515,684 | dayjs 1.9x higher |
| 12-month download growth | +99% | +95% | luxon +3 pts |
| Gzip size | - | - | - |
| Minified size | - | - | - |
| Dependencies | 0 | 0 | Same |
| Unpacked size | 4.4 MB | 666 kB | dayjs 6.7x smaller |
| Latest release | 3.7.2, 5 Sept 2025 | 1.11.23, 17 Aug 2026 | dayjs 11 months more recent |
| Releases, last 12 months | 0 | 5 | dayjs 5 more |
| First published | 24 May 2017 | 10 Apr 2018 | luxon 11 months earlier |
| GitHub stars | 16,461 | 48,667 | dayjs 3.0x higher |
| Open issues | 155 | 971 | dayjs 816 more |
| Open pull requests | 37 | 365 | dayjs 328 more |
| Contributors | - | 358 | - |
| Commits, last 52 weeks | 23 | 54 | dayjs 2.3x higher |
| TypeScript types | None | Bundled | Differs |
| Module format | ESM + CommonJS | CommonJS | Differs |
| 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.
luxon27.4m latest weekdayjs50.9m latest week
Week of 23 Sept 2025Week of 15 Sept 2026
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
dayjs
Major versions
- 1.0.010 Apr 2018
Last 5 releases
- 1.11.2317 Aug 2026
- 1.11.2216 Aug 2026
- 1.11.2126 May 2026
- 1.11.2012 Mar 2026
- 1.11.1931 Oct 2025
132 releases in total, 5 in the last 12 months
luxon
Chainable, immutable wrapper object
dayjs
Chainable, immutable wrapper object
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.
dayjs
- 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.
- Need no runtime dependenciesBoth
- Need both ESM and CommonJS entry pointsluxon (luxon: ESM + CommonJS; dayjs: CommonJS)
- Need to load it with require()Both
- Need TypeScript types in the package itselfdayjs (luxon: None; dayjs: Bundled)
- Node.js version requirementluxon: >=12; dayjs: none declared (engines field in package.json)
- Need the more recent releasedayjs (1.11.23 on 17 Aug 2026 vs 3.7.2 on 5 Sept 2025)
- Higher weekly npm downloadsdayjs (51.5m vs 27.4m)
Each line is generated from the data above.
- date-fns vs dayjs100 searches/mo
- date-fns vs luxon60 searches/mo
- dayjs vs moment40 searches/mo
- moment vs luxon10 searches/mo
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.
dayjs: dayjs npm registry, dayjs npm downloads, dayjs GitHub, dayjs jsDelivr, Day.js README, Day.js timezone plugin, Day.js installation. Data fetched 25 Sept 2026.
Keyword demand: DataForSEO Google Ads search volume, US, English
Indexability: Indexed: 20 US searches/month across both orderings ("luxon vs dayjs", "dayjs vs luxon").