Node.js 26 LTS: Which Version Should You Run?
Use Node.js 26 for new projects, stay on Node 24 if it already works for you, and plan to leave Node 22 before it reaches end of life on 30 April 2027.
This post is for owners and small teams whose site, shop backend or web app runs on Node.js (a popular tool that runs JavaScript on a server). You will get a clear table of which version is supported until when, a decision table, the exact commands to check your version, and a safe upgrade routine. No scary words, just a short to-do list.
Where each Node.js version stands today
Node.js 26 (codename "Lithium") moved into LTS in October 2026 with release 26.13.0, and the release post says it will get updates through the end of April 2029. LTS means "long-term support": the version gets fixes for a long time, so it is meant for real websites. You can see the official list on the Node.js previous releases page and read the Node.js 26.13.0 release post.
Here is the picture as of early November 2026:
| Version | Codename | Status | Supported until |
|---|---|---|---|
| Node 26 | Lithium | Active LTS (since October 2026) | 30 Apr 2029 |
| Node 24 | Krypton | Maintenance (since October 2026) | 30 Apr 2028 |
| Node 22 | Jod | Maintenance | 30 Apr 2027 |
| Node 20 | Iron | End of life | Ended 30 Apr 2026 |
| Node 18 | Hydrogen | End of life | Ended |
Node 25 is also listed as end of life. Odd-numbered versions have always been short-lived, so you should not run them on a production site.
The dates come from the official Node.js release schedule. The previous releases page links to it (the Node.js "release" repository on GitHub). Dates can change, so check the official schedule before you finalize your plan.
What the status words mean
The Node.js project describes three stages that matter to you:
- Current: a new major version in its first six months. Library authors use this time to add support.
- Active LTS: ready for general use and the best choice for production. Node 26 is here now.
- Maintenance LTS: still supported, but typically only for critical fixes. Node 24 and Node 22 are here now.
The Node.js project says plainly that production applications should only use Active LTS or Maintenance LTS releases. It also notes that starting with Node.js 27 the cycle becomes annual, and every major version will move to LTS after its Current phase. So the "odd versions are short-lived" rule ends after Node 26.
Node 26 vs Node 24: what actually differs
The biggest difference is time. Node 26 is supported for about a year longer than Node 24 (April 2029 versus April 2028). Node 26 is in Active LTS, while Node 24 is in Maintenance, which usually means fewer updates.
A new major version also tends to bundle newer components and can remove or deprecate older APIs. Before you upgrade, read the Node.js 26.13.0 release post and the official changelog for removed features, then test your app on a staging copy.
One practical note for Linux: official Linux binaries may need the libatomic library. Install it only if Node fails to start. On Debian or Ubuntu that is:
sudo apt install libatomic1
On Fedora, RHEL and similar systems the package is called libatomic. Many setups already have it.
Which Node version should you use in 2026?
Use this table to decide.
| Your situation | What to do |
|---|---|
| Starting a new project or server | Use Node 26. It has the longest support runway. |
| On Node 24 and everything works | Stay put for now. Plan a move to Node 26 within the next year. |
| On Node 22 | Supported until 30 April 2027. Schedule your move to 26 (or 24) in the next few months. |
| On Node 20 or older | Upgrade soon. These versions have reached end of life and no longer get fixes. |
| On an odd version (21, 23, 25) | Move to an LTS version. Odd versions are not meant for production. |
| You use WordPress or Shopify with no custom server code | You most likely do not run Node on your server. It may still appear in build tools, so ask your developer. |
If you are on Node 22, remember it is the Node 22 end of life date that sets your deadline. That is 30 April 2027, so you have time, but not a lot of it if your app needs testing.
How to check which Node version your site runs
You can find out in a few minutes.
- On your own computer or server, open a terminal and run:
node --version
It prints something like v24.x.x. The first number is the major version.
- To see if it is an LTS release, run:
node -p "process.release.lts"
On an LTS release it prints the codename (for example Lithium on Node 26). If it prints undefined, you are on a non-LTS version. If you are on Node 26 and see undefined, check that you are on 26.13.0 or later.
- In your project files, look for a
package.jsonwith anenginesfield, or a file named.nvmrc. These tell your host which version to use.
- On your hosting dashboard, look for a Node.js version setting. Platforms like Vercel and Netlify let you choose it in settings or with an environment variable, and cPanel hosts often have a "Setup Node.js App" screen. Names vary, so check your host's docs. Also check that your host offers Node 26, because some roll out new versions slowly.
- In a Docker setup, open the
Dockerfileand look at theFROM node:line.
Not sure what runs on a live site? You cannot reliably read the Node version of a live site from the outside, so ask your developer or check your host's dashboard. For a passive look at what your site exposes, try the free website security check.
How to upgrade safely
Do this on a copy of your site first, never straight on production.
- Back up your code and database.
- Install the new version next to the old one. With nvm (Node Version Manager):
nvm install 26
nvm use 26
node --version
- Reinstall your packages from the lockfile and run your tests:
npm ci
npm test
- Declare which Node versions your app supports. In
package.json:
"engines": { "node": ">=26 <27" }
This allows Node 26 only (26.x means the same thing). A plain >=26 would also allow Node 27, 28 and later. Note that engines is only advisory unless npm's engine-strict setting is on. To actually pin the version for nvm users, put 26 in a .nvmrc file.
- Deploy to a staging site, click through the important pages (login, checkout, forms), then deploy to production.
- Keep the old version available for a few days in case you need to roll back.
If you use a Docker image, change the base image to a Node 26 tag and rebuild. In GitHub Actions, set the node-version input of actions/setup-node to 26.
Why an old Node version matters for security
After a version reaches end of life, the Node.js project stops shipping fixes for it. Any new flaw found later stays open on your server. That does not mean you will be attacked, but it does mean the risk only grows with time.
Using old software is a recognized risk category. The current OWASP Top 10:2025 covers it under A03 Software Supply Chain Failures. Node is only one layer, though. Your npm packages, your operating system and your web server also need updates. Running npm audit will flag known issues in your packages.
If you also want to check how your site presents itself to browsers, the security headers tool takes a few seconds. For a wider look at what an attacker might see, read is my website hackable.
Key takeaways
- Node.js 26 entered Active LTS in October 2026 and is supported until 30 April 2029. Use it for new work.
- Node 24 (Maintenance, to 30 April 2028) is fine to keep for now. Node 22 ends 30 April 2027, so plan its upgrade soon.
- Node 20 and older are end of life. Move off them first.
- Check your version with
node --version, then test the upgrade on a staging copy before touching production. - Updating Node is one layer. Keep your packages, server and CMS updated too.
Want a human to look at the whole picture?
A version number is only one piece. If you would like a real person to hand-audit your site and give you a written report with evidence and exact fixes, Circuit is $49 one-time. It is a focused audit for small sites, not a multi-week enterprise pentest or a compliance certification. Start with the free check if you just want a quick look.
A real human security engineer audits your whole site by hand and sends a full report: every issue, its severity, and the exact fix. From $49, with a 14-day money-back guarantee.
See pricing