Node.js End of Life (EOL) Dates & Support Timeline
Complete end-of-life dates, support windows, and security status for all Node.js versions. Data from endoflife.date, checked against the vendor's own lifecycle pages where we have read them (share on /accuracy). Updated at every deploy.
Node.js 26 is supported until April 30, 2029, its end-of-support date. Active support for Node.js 26 ends on October 20, 2027; security fixes continue until that end-of-life date. The next Node.js version to reach end of life is 22, on April 30, 2027. 23 of 26 tracked Node.js versions are past end of life; the most recent to reach it, 25, did so on June 1, 2026. The full Node.js lifecycle, with every version's release and end-of-support date, is in the table below.
Running an EOL version? Get matched with support options — free ↓| Version | Latest Release | Release Date | EOL Date | Days | Status |
|---|---|---|---|---|---|
| 1 | 1.8.4 | Jan 20, 2015 | Not published | Past EOL | EOL |
| 2 | 2.5.0 | May 4, 2015 | Not published | Past EOL | EOL |
| 3 | 3.3.1 | Aug 4, 2015 | Not published | Past EOL | EOL |
| 4 LTS | 4.9.1 | Sep 8, 2015 | Apr 30, 2018 | 3115 days past EOL | EOL |
| 5 | 5.12.0 | Oct 29, 2015 | Jun 30, 2016 | 3784 days past EOL | EOL |
| 6 LTS | 6.17.1 | Apr 26, 2016 | Apr 30, 2019 | 2750 days past EOL | EOL |
| 7 | 7.10.1 | Oct 25, 2016 | Jun 30, 2017 | 3419 days past EOL | EOL |
| 8 LTS | 8.17.0 | May 30, 2017 | Dec 31, 2019 | 2505 days past EOL | EOL |
| 9 | 9.11.2 | Oct 1, 2017 | Jun 30, 2018 | 3054 days past EOL | EOL |
| 10 LTS | 10.24.1 | Apr 24, 2018 | Apr 30, 2021 | 2019 days past EOL | EOL |
| 11 | 11.15.0 | Oct 23, 2018 | Jun 1, 2019 | 2718 days past EOL | EOL |
| 12 LTS | 12.22.12 | Apr 23, 2019 | Apr 30, 2022 | 1654 days past EOL | EOL |
| 13 | 13.14.0 | Oct 22, 2019 | Jun 1, 2020 | 2352 days past EOL | EOL |
| 14 LTS | 14.21.3 | Apr 21, 2020 | Apr 30, 2023 | 1289 days past EOL | EOL |
| 15 | 15.14.0 | Oct 20, 2020 | Jun 1, 2021 | 1987 days past EOL | EOL |
| 16 LTS | 16.20.2 | Apr 20, 2021 | Sep 11, 2023 | 1155 days past EOL | EOL |
| 17 | 17.9.1 | Oct 19, 2021 | Jun 1, 2022 | 1622 days past EOL | EOL |
| 18 LTS | 18.20.8 | Apr 19, 2022 | Apr 30, 2025 | 558 days past EOL | EOL |
| 19 | 19.9.0 | Oct 18, 2022 | Jun 1, 2023 | 1257 days past EOL | EOL |
| 20 LTS | 20.20.2 | Apr 18, 2023 | Apr 30, 2026 | 193 days past EOL | EOL |
| 21 | 21.7.3 | Oct 17, 2023 | Jun 1, 2024 | 891 days past EOL | EOL |
| 22 LTS | 22.23.4 | Apr 24, 2024 | Apr 30, 2027 | 172 days remaining | Warning |
| 23 | 23.11.1 | Oct 16, 2024 | Jun 1, 2025 | 526 days past EOL | EOL |
| 24 LTS | 24.22.2 | May 6, 2025 | Apr 30, 2028 | 538 days remaining | Active |
| 25 | 25.9.0 | Oct 15, 2025 | Jun 1, 2026 | 161 days past EOL | EOL |
| 26 LTS | 26.13.0 | May 5, 2026 | Apr 30, 2029 | 903 days remaining | Active |
[](https://endoflife.ai/nodejs)
Node.js release and support pattern
Across the 26 release lines with a published release date, Node.js has shipped a new line roughly every 6 months (median interval). A line typically stays supported for about 2.4 years from its release to its end-of-life date (measured on the 23 lines with both dates published). 12 of the 26 tracked lines are designated long-term support, which is where the longer windows sit.
Of the 26 release lines tracked, 23 are past end of life and 3 are still within support; 3 are marked end of life without a published date. The newest line, 26, was released May 5, 2026. The next scheduled end of life is 22 on April 30, 2027 — 171 days from this build. The longest-supported line currently published is 26, to April 30, 2029.
Computed from the tracked release data at every build — the figures above are the dates in the table, restated, not an editorial estimate.
Node.js security intelligence
CISA KEV history: Node.js is named in CISA's Known Exploited Vulnerabilities catalog 1 time, most recently on 2026-10-27. Derived from CISA's live catalog at every build.
What does Node.js end of life mean for your organization?
When a version of Node.js reaches end of life, the maintainers stop issuing security patches. Vulnerabilities discovered after this date are publicly disclosed on the National Vulnerability Database, exploit code appears on GitHub, and your systems remain permanently exposed.
The CVE blind spot: A CVE-based scan does not show the accumulation of unpatched vulnerabilities in EOL software. Some scanners flag unsupported versions of common products, but coverage varies, and none of them give you the date in advance. With a zero-day, nobody knows about the vulnerability. With EOL software, the vulnerability is public — listed, rated, and often weaponized — but no vendor patch is coming. This is one of the most dangerous gaps in enterprise security posture.
Organizations running EOL Node.js should treat it as a vulnerability class in their risk register, apply compensating controls (network segmentation, enhanced monitoring, access restriction), and prioritize migration to a supported version.
Your options when Node.js reaches end of life
There are four realistic paths. Which one is right depends far more on how long the system needs to keep running than on the version you are on today.
| Option | Best when | Watch out for |
|---|---|---|
| Move to a supported version | The system will outlive the current version's support window and you can schedule the work | Budget for compatibility testing, not just the upgrade itself — that is where the real cost sits |
| Replace the component | The project is unmaintained, or a better-supported alternative exists | The replacement has its own lifecycle and its own end-of-life date — you are changing vendors, not escaping the problem |
| Buy extended support | Migration is genuinely underway but cannot finish before the deadline, or the workload is frozen by certification or a third-party application | A bridge, not a destination — every year purchased is a year the migration still has to happen |
| Document accepted risk | The system is isolated, short-lived, or scheduled for retirement | Only defensible with real compensating controls and a written decision — auditors treat undocumented end-of-life software as a finding |
How to choose, in one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support purchased repeatedly costs more than doing the project once, and the project only gets harder as the version ages. Indefinitely, migrate now and plan the next migration before it surprises you.
Worth saying plainly, because vendors selling extended support rarely will: extended support is often the more expensive choice over a multi-year horizon. It is the right answer when a deadline is genuinely unreachable, not as a default. Compare the annual fee against the one-time cost of migrating before committing to either.
Formalizing decisions like this across your estate? Our free EOL policy template is a ready-to-adopt policy with risk tiers, remediation SLAs, and audit mapping — no signup, free to use and share.
Extended Support Options
If you cannot migrate immediately, check whether the vendor or a third party sells extended support with security patches for your Node.js version; coverage varies by product and version. Where it exists it is a bridge, not a permanent solution — plan your migration in parallel.
Node.js has 23 versions past end of life — security patches have stopped, but CVE disclosures haven't. The good news: extended support for Node.js exists — vetted vendors ship security patches for years past the official date. Right now that coverage spans Node.js 12, 14, 16, 18, 20, with 210+ post-EOL CVE fixes documented in vendor release notes. Tell us where to reach you and we'll reply with matched options and pricing guidance — or an honest "no vendor covers this."