Sourcemap Explorer
Stack · npm package

date-fns

Modern JavaScript date utility library

latest 4.4.0· MIT· 209 versions publishedView on npm

About

Modern JavaScript date utility library

What detecting date-fns tells you about a site

date-fns reveals a functional, tree-shakeable approach to dates — pure functions imported individually rather than a monolithic object — chosen by teams that care about bundle size and immutability. Its presence is a strong marker of a modern, performance-conscious build.

Why the exact date-fns version matters

date-fns v3 reorganised the package exports and v4 added first-class time-zone support; the exact version tells you which import surface and time-zone story the code relies on.

date-fns in a real-world stack

When you find date-fns in a bundle, it rarely travels alone. Frequently alongside react-day-picker or a form library's date inputs, and a build that tree-shakes the unused functions away.

Quick facts

Latest version4.4.0
LicenseMIT
Homepagedate-fns.org
Installnpm install date-fns
Direct dependencies0

How Sourcemap Explorer detects date-fns

date-fns ships as v4.4.0, published 2026-05-29 and carries 0 direct dependencies, 209 versions on the registry. Those exact numbers are the footprint Sourcemap Explorer matches when date-fns rides inside a deployed bundle — here is how the detection works.

We catch date-fns from two complementary signals: bundled source paths and the embedded package.json. Modern bundlers (webpack, Vite, esbuild, Rollup, Turbopack) preserve the original node_modules/date-fns/ paths inside the JavaScript sourcemap's sources[] array — that's the canonical signal. When the matching package.json is also captured in sourcesContent[], we read the exact version field — patch number included. No regex guessing, no version inference.

  1. 1

    Confirm the site exposes sourcemaps

    In DevTools Network, check the response headers of any application script for `SourceMap` or `X-SourceMap`. Failing that, fetch the script's last 4 KB and look for a `//# sourceMappingURL=` comment — that map is where the `date-fns` paths live.

  2. 2

    Find the package in the bundle

    Open DevTools → Network → reload. Click any application script and look at its sourcemap. Inside, search `sources[]` for entries matching `node_modules/date-fns/` — every match confirms the package is bundled. The matching `sourcesContent[i]` for `node_modules/date-fns/package.json` gives you the exact installed version.

  3. 3

    Read the version directly from package.json

    Run `jq -r '. as $m | $m.sources | to_entries[] | select(.value | endswith("node_modules/date-fns/package.json")) | $m.sourcesContent[.key] | fromjson | .version' bundle.js.map`. Sourcemap Explorer automates the same query in the popup.

Major releases of date-fns

When each major version first landed. Major bumps are where breaking changes live, so this timeline is the fastest way to date the date-fns version a site actually ships against the ecosystem.

Major
First release
Date
v4
4.0.0
2024-09-16
v3
3.0.0
2023-12-18
v2
2.0.0
2019-08-20
v1
1.0.0
2016-05-18
v0
0.1.0
2014-10-06

Recent versions

Version
Released
4.4.0
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
3.6.0
2024-03-18
3.5.0
2024-03-15

date-fns README

Live mirror of the GitHub README, for reference. Updated whenever the repo's default branch changes.

🔥️ NEW: date-fns v4.0 with first-class time zone support is out!

date-fns

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

👉 Documentation

👉 Blog


It's like Lodash for dates

  • It has 200+ functions for all occasions.
  • 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
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. To install the package run:

npm install date-fns --save

Docs

See date-fns.org for more details, API, and other docs.


License

MIT © Sasha Koss

FAQ

What is date-fns used for?

Modern JavaScript date utility library

How can I tell if a website is using date-fns?

Open the page in Chrome with the Sourcemap Explorer extension installed and read the Stack tab. We catch `date-fns` from two complementary signals: `node_modules/date-fns/` paths inside the JavaScript sourcemap, and the embedded `package.json` we read for exact-version detection. Without the extension you can do the same lookup manually in DevTools — the steps are listed in the "How Sourcemap Explorer detects" section above.

How do I find out which version of date-fns a website is running?

Read it straight from the site's JavaScript sourcemap. When a build ships source maps, the bundled `date-fns/package.json` carries the exact `version` string — Sourcemap Explorer extracts it in one click on the Stack tab, and you can do it by hand in DevTools by opening the `.map` file and searching for `node_modules/date-fns/package.json`. That is far more reliable than inferring the version from an asset-hash or a `?ver=` query string, which is all surface-level detectors have to go on. The current npm release is 4.4.0, but real deployments frequently run an older pinned version — which is exactly why reading the bundled number matters.

What is the latest version of date-fns?

4.4.0, as published on the npm registry. The "Recent versions" table on this page lists the most recent 8 releases with their release dates. Sourcemap Explorer reports the version actually bundled into a site, which can lag the latest release by months on real-world deployments.

Is date-fns actively maintained?

Very actively maintained — the last release shipped within the past three months. The last published release was 2026-05-29. Source code: https://github.com/date-fns/date-fns.

Where can I read more?

Project homepage: https://date-fns.org. Source code: https://github.com/date-fns/date-fns. Published on npm: https://www.npmjs.com/package/date-fns. Licensed as MIT.

Detected by Sourcemap Explorer

When a bundle ships sourcemaps, we read the embedded package.json for date-fns and report the precise version (the registry's latest is v4.4.0, published 2026-05-29; the bundled copy is often older). Without sourcemaps, an import / require in the page's scripts is enough to flag it.

Install free on Chrome