Node.js

Node.js End of Life - Dates and Lifecycle

Node.js is a JavaScript runtime built on Chrome's V8 engine, widely used for building backend APIs, microservices, and command-line tools outside the browser.

Last updated 8 August 2026

25

Versions tracked

22

At EOL

3

Supported

Node.js version lifecycle and end-of-life dates
Version Released Active Support Security Support Latest
26
05 May 2026
27 Oct 2027 Ends in 1 year, 2 months
30 Apr 2029 Ends in 2 years, 8 months
26.7.0 05 Aug 2026
25
15 Oct 2025
01 Apr 2026 Ended 4 months, 1 week ago
01 Jun 2026 Ended 2 months, 1 week ago
25.9.0 01 Apr 2026
24 LTS
06 May 2025
20 Oct 2026 Ends in 2 months, 1 week
30 Apr 2028 Ends in 1 year, 8 months
24.19.0 03 Aug 2026
23
16 Oct 2024
01 Apr 2025 Ended 1 year, 4 months ago
01 Jun 2025 Ended 1 year, 2 months ago
23.11.1 14 May 2025
22 LTS
24 Apr 2024
21 Oct 2025 Ended 9 months, 3 weeks ago
30 Apr 2027 Ends in 8 months, 2 weeks
22.23.2 29 Jul 2026
21
17 Oct 2023
01 Apr 2024 Ended 2 years, 4 months ago
01 Jun 2024 Ended 2 years, 2 months ago
21.7.3 10 Apr 2024
20 LTS
18 Apr 2023
22 Oct 2024 Ended 1 year, 9 months ago
30 Apr 2026 Ended 3 months, 1 week ago
20.20.2 24 Mar 2026
19
18 Oct 2022
01 Apr 2023 Ended 3 years, 4 months ago
01 Jun 2023 Ended 3 years, 2 months ago
19.9.0 10 Apr 2023

Node.js ships new major versions on a fast, predictable cadence, which is exactly what makes it easy to lose track of which versions are still supported. A runtime that was the recommended choice eighteen months ago can already be sitting past its end of life date, still running in production without anyone noticing until a security review or an npm install warning flags it.

Node.js Lifecycle Explained

Through Node.js 26, the project released a new major version every six months, in April and October, and split them by a simple rule: even-numbered versions get promoted to Long Term Support, odd-numbered versions don't. An LTS line spends six months as "Current," then roughly a year as "Active LTS" with new features and full support, then another year as "Maintenance LTS" with critical security and bug fixes only, for about 30 months of total support. Odd-numbered releases skip LTS entirely. They stay in the Current phase for about six months and then go straight to end of life, so they were never meant for production use in the first place.

Starting with Node.js 27 in October 2026, this changes. Node.js is moving to one major release per year, and every release becomes LTS, there's no more odd or even distinction to track. Each version will get about three years of total support from its initial release before reaching end of life. For teams that have always stuck to even-numbered LTS releases, this mostly simplifies version naming rather than changing how you should operate, but it does mean the release rhythm itself is shifting.

Once a Node.js version reaches end of life, the project stops shipping updates of any kind for it, security patches included. Given how quickly Node's release cadence has historically moved, it's common for production systems to be running a version that's already past this point without the team realizing it.

What does Node.js EOL mean?

Node.js EOL, or end of life, is the date after which a given major version stops receiving any updates from the project, including security patches. After that date, any vulnerability found in that version stays unpatched unless you're using a third-party extended support provider.

Is Node 18 end of life?

Yes. Node.js 18 reached end of life in April 2025, and it no longer receives official security patches or bug fixes.

When is Node 16 end of life?

Node.js 16 reached end of life in September 2023. It's been unsupported for several years now, so any production system still running it carries significant unpatched security risk.

What are my options if I can't upgrade off an EOL Node.js version yet?

The recommended path is always to upgrade to an Active or Maintenance LTS release as soon as possible. If that's not immediately feasible, third-party extended support providers offer drop-in security patches for specific EOL Node.js versions after the project stops maintaining them, which can buy time without leaving the runtime fully unpatched.