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 sourced from endoflife.date and official vendor documentation. 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 | 3069 days past EOL | EOL |
| 5 | 5.12.0 | Oct 29, 2015 | Jun 30, 2016 | 3738 days past EOL | EOL |
| 6 LTS | 6.17.1 | Apr 26, 2016 | Apr 30, 2019 | 2704 days past EOL | EOL |
| 7 | 7.10.1 | Oct 25, 2016 | Jun 30, 2017 | 3373 days past EOL | EOL |
| 8 LTS | 8.17.0 | May 30, 2017 | Dec 31, 2019 | 2459 days past EOL | EOL |
| 9 | 9.11.2 | Oct 1, 2017 | Jun 30, 2018 | 3008 days past EOL | EOL |
| 10 LTS | 10.24.1 | Apr 24, 2018 | Apr 30, 2021 | 1973 days past EOL | EOL |
| 11 | 11.15.0 | Oct 23, 2018 | Jun 1, 2019 | 2672 days past EOL | EOL |
| 12 LTS | 12.22.12 | Apr 23, 2019 | Apr 30, 2022 | 1608 days past EOL | EOL |
| 13 | 13.14.0 | Oct 22, 2019 | Jun 1, 2020 | 2306 days past EOL | EOL |
| 14 LTS | 14.21.3 | Apr 21, 2020 | Apr 30, 2023 | 1243 days past EOL | EOL |
| 15 | 15.14.0 | Oct 20, 2020 | Jun 1, 2021 | 1941 days past EOL | EOL |
| 16 LTS | 16.20.2 | Apr 20, 2021 | Sep 11, 2023 | 1109 days past EOL | EOL |
| 17 | 17.9.1 | Oct 19, 2021 | Jun 1, 2022 | 1576 days past EOL | EOL |
| 18 LTS | 18.20.8 | Apr 19, 2022 | Apr 30, 2025 | 512 days past EOL | EOL |
| 19 | 19.9.0 | Oct 18, 2022 | Jun 1, 2023 | 1211 days past EOL | EOL |
| 20 LTS | 20.20.2 | Apr 18, 2023 | Apr 30, 2026 | 147 days past EOL | EOL |
| 21 | 21.7.3 | Oct 17, 2023 | Jun 1, 2024 | 845 days past EOL | EOL |
| 22 LTS | 22.23.3 | Apr 24, 2024 | Apr 30, 2027 | 218 days remaining | Active |
| 23 | 23.11.1 | Oct 16, 2024 | Jun 1, 2025 | 480 days past EOL | EOL |
| 24 LTS | 24.21.0 | May 6, 2025 | Apr 30, 2028 | 584 days remaining | Active |
| 25 | 25.9.0 | Oct 15, 2025 | Jun 1, 2026 | 115 days past EOL | EOL |
| 26 LTS | 26.10.0 | May 5, 2026 | Apr 30, 2029 | 949 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 — 218 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.
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, extended support vendors provide continued security patches for EOL Node.js versions. This 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."