# date-fns

> Modern JavaScript date utility library

Latest version **4.4.0** (published 2026-05-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install date-fns
pnpm add date-fns
yarn add date-fns
bun add date-fns
```

## Health

**Score 63/100 (C)** — status: active.

Positive: has types package; esm support; no vulnerabilities; high maintenance score; popular repo.

Warnings: low downloads; large bundle.

## Facts

| | |
|---|---|
| Version | 4.4.0 |
| Published | 2026-05-29 |
| First published | 2014-10-06 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | separate (@types/date-fns) |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 10.4 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 36649 |
| Maintainers | kossnocorp |

## Links

- npm: https://www.npmjs.com/package/date-fns
- Repository: https://github.com/date-fns/date-fns
- Funding: https://github.com/sponsors/kossnocorp
- npm.io page: https://npm.io/package/date-fns

## Recent versions

- 4.4.0 (latest) — 2026-05-29
- 5.0.0-alpha.0 (next) — 2026-05-29
- 4.3.0 — 2026-05-22
- 4.2.1 — 2026-05-18
- 4.2.0 — 2026-05-18
- 4.1.0 — 2024-09-17
- 4.0.0 — 2024-09-16
- 4.0.0-beta.1 — 2024-09-14
- 4.0.0-alpha.1 — 2024-09-11
- 3.6.0 — 2024-03-18
- 3.5.0 — 2024-03-15
- 3.4.0 — 2024-03-11
- 3.3.1 — 2024-01-22
- 3.3.0 — 2024-01-20
- 3.2.0 — 2024-01-09
- … 194 more at https://npm.io/package/date-fns/versions

## README

🔥️ **NEW**: [date-fns v4.0 with first-class time zone support is out!](https://blog.date-fns.org/v40-with-time-zone-support/)

<img alt="date-fns" title="date-fns" src="https://raw.githubusercontent.com/date-fns/date-fns/refs/heads/main/pkgs/core/docs/logotype.svg" width="150" />

date-fns provides the most comprehensive, yet simple and consistent toolset for manipulating JavaScript dates in a browser & Node.js

👉 [Documentation](https://date-fns.org/)

👉 [Blog](https://blog.date-fns.org/)

<hr>

It's like [Lodash](https://lodash.com) for dates

- It has [**200+ functions** for all occasions](https://date-fns.org/docs/Getting-Started/).
- **Modular**: Pick what you need. Works with webpack, Browserify, or Rollup and also supports tree-shaking.
- **Native dates**: Uses existing native type. It doesn't extend core objects for safety's sake.
- **Immutable & Pure**: Built using pure functions and always returns a new date instance.
- **TypeScript**: The library is 100% TypeScript with brand-new handcrafted types.
- **I18n**: Dozens of locales. Include only what you need.
- [and many more benefits](https://date-fns.org/)

```js
import { compareAsc, format } from "date-fns";

format(new Date(2014, 1, 11), "yyyy-MM-dd");
//=> '2014-02-11'

const dates = [
  new Date(1995, 6, 2),
  new Date(1987, 1, 11),
  new Date(1989, 6, 10),
];
dates.sort(compareAsc);
//=> [
//   Wed Feb 11 1987 00:00:00,
//   Mon Jul 10 1989 00:00:00,
//   Sun Jul 02 1995 00:00:00
// ]
```

The library is available as an [npm package](https://www.npmjs.com/package/date-fns).
To install the package run:

```bash
npm install date-fns --save
```

## Docs

[See date-fns.org](https://date-fns.org/) for more details, API,
and other docs.

<br />

## License

[MIT © Sasha Koss](https://kossnocorp.mit-license.org/)

---
_Source: https://npm.io/package/date-fns · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
