How to Update Node.js Versions on Windows

Updating Node.js on Windows can be as simple as installing a new version—but a safe Node.js upgrade is more than changing the number returned by node -v.

A new major version can change the V8 engine, npm, OpenSSL, runtime APIs, native addon compatibility, dependency requirements, and application behavior.

In this guide, we'll show you the best ways to update Node.js on Windows, how to choose the right version, and what to check before moving an application to a newer runtime.

node-upgrade.png

Get your free Node.js Upgrade Assessment →

Before you upgrade, check your application

Run NodeSource's free Upgrade Discovery CLI:

npx @nodesource/upgrade

It analyzes your dependencies, native C/C++ addons, and static Node.js API usage locally to help identify potential upgrade blockers before you change the runtime.

Using another operating system?

Looking for instructions for macOS? Click here. Need help with Linux? Click here.

First: Which Node.js Version Should You Install?

Before updating anything, it helps to understand that the latest Node.js version is not always the version you should use in production.

As of August 2026, the official Node.js releases page lists:

ReleaseStatusWhen to use it
Node.js 24LTSBest default for most production applications
Node.js 26CurrentTesting new capabilities and preparing for its LTS promotion
Node.js 22LTSSupported, but with less remaining support time
Node.js 20 and earlierEOLUpgrade planning should be a priority

At the time of this update, the latest releases are Node.js 24.19.0 LTS and Node.js 26.7.0 Current. Always check nodejs.org before installing, since patch releases change frequently.

For production applications, the Node.js project recommends using an Active LTS or Maintenance LTS release.

If your application is still running Node.js 20 or an older release, upgrading becomes more important: End-of-Life versions no longer receive community security fixes.

We cover those risks in much more detail here:

Node.js Versions Explained: Why Running an Outdated Release Is a Business Risk

Prefer a quick video explanation?

One important release-cycle change

Node.js 26 is also the last release under the historical even/odd release model.

Starting with Node.js 27, Node.js is moving to one major release per year, and every major version is expected to progress toward LTS after its Current phase.

You can follow the official Node.js release schedule for the latest lifecycle information.

Before you start: Check What You Are Running

Open PowerShell or Command Prompt and run:

node -v
npm -v

You can also check which Node.js executable Windows is actually using:

where node

This is useful when you have installed Node.js using more than one method and suspect a PATH conflict.

If this is an existing application, also check whether the project declares a Node.js requirement in package.json:

{
  "engines": {
    "node": ">=24"
  }
}

And before changing your runtime, make sure your work is committed so you can easily compare or revert changes.

The Best Ways to Update Node.js on Windows

There is no single installation method that works best for everyone.

A simple rule is:

MethodBest for
nvm-windowsDevelopers working across multiple Node.js versions
Node.js InstallerSimple setups using one version
WingetWindows users who prefer package management
ChocolateyTeams already managing software through Chocolatey

For most developers, using a version manager is the most flexible option.

npm's own documentation also strongly recommends installing Node.js and npm through a Node version manager when possible.

Method 1: Update Node.js with nvm-windows

If you work on several Node.js projects, this is usually the most useful approach.

nvm-windows lets you install multiple Node.js versions and switch between them without repeatedly uninstalling and reinstalling Node.

Important: nvm-windows is not the same as nvm

The popular nvm project used on macOS and Linux and nvm-windows are separate projects with different commands and behavior.

For Windows, use the official nvm-windows repository.

Before installing nvm-windows

If Node.js was previously installed using the MSI installer, the nvm-windows project recommends removing that installation first.

This helps prevent conflicts around:

C:\Program Files\nodejs

and the Windows PATH.

If you rely on globally installed npm packages, you may also want to check them before removing the existing installation:

npm list -g --depth=0

Then install nvm-windows from its GitHub Releases page.

After installation, open a new PowerShell or Command Prompt window and verify:

nvm version

Install the latest LTS version

For most development and production use cases:

nvm install lts
nvm use lts

Verify:

node -v
npm -v

Install the Current version

If you want to test against the newest Node.js release:

nvm install latest
nvm use latest

Install a specific version

You can also install an exact release:

nvm install 24.19.0
nvm use 24.19.0

To see your installed versions:

nvm list

And to see available releases:

nvm list available

This makes it easy to test your application against the old and new runtime before committing to an upgrade.

Method 2: Use the Official Node.js Windows Installer

If you only need one Node.js version and don't expect to switch frequently, the official installer is the simplest approach.

Go to the official Node.js download page.

Choose the release you need—typically LTS for production applications—and download the Windows .msi installer.

Run the installer and follow the setup wizard.

When it finishes, close and reopen PowerShell or Command Prompt and verify:

node -v
npm -v

The installer is convenient, but once you regularly maintain projects requiring different Node.js versions, a version manager becomes much easier to work with.

Method 3: Update Node.js with Winget

If you prefer Windows Package Manager, Winget can also manage your Node.js installation.

For the LTS package:

winget upgrade --id OpenJS.NodeJS.LTS -e

If it is not installed yet:

winget install --id OpenJS.NodeJS.LTS -e

The OpenJS.NodeJS package is used for the Current release line.

After upgrading:

node -v
npm -v

Using the explicit .LTS package helps avoid accidentally moving a production development environment from LTS to Current.

Method 4: Update Node.js with Chocolatey

If your organization already uses Chocolatey, you can update Node.js through it as well.

For LTS:

choco upgrade nodejs-lts -y

For Current:

choco upgrade nodejs -y

Then verify:

node -v
npm -v

Again, pay attention to the package name: nodejs-lts and nodejs do not necessarily represent the same release line.

What About npm?

Node.js distributions include npm, so switching or updating Node.js will generally also give you the npm version bundled with that release.

Check it with:

npm -v

If you have a specific reason to upgrade npm independently, npm documents:

npm install -g npm

But don't automatically assume that every application needs the newest npm release.

Your Node.js version, npm version, lockfile format, build environment, and CI pipeline should remain compatible with each other.

When using nvm-windows, switching Node.js versions may also change the npm version associated with the active Node.js installation.

For more details, see the official npm installation documentation.

Don't Stop at node -v: Test the Application

Seeing the new version number only proves that Windows is running a different executable.

It does not prove that your application is ready for the new runtime.

For an existing project, reinstall dependencies in a clean environment:

npm ci

Then run your application's normal validation process:

npm test
npm run build

You should also test the application itself, especially the paths that depend on networking, cryptography, filesystem behavior, worker threads, or native modules.

For major upgrades, pay particular attention to:

Dependencies. Packages may declare newer Node.js requirements or stop supporting old runtime versions.

Deprecated APIs. Code that still works today may rely on an API scheduled for removal.

Native addons. Packages built through node-gyp, direct V8 APIs, or other native interfaces can require recompilation or code changes.

Performance. A new V8 or runtime version can change memory usage, garbage collection, throughput, or latency even when all your tests pass.

CI and production. Your laptop, Docker image, CI pipeline, serverless platform, and production runtime should not silently end up running different Node.js majors.

If you're moving across several major versions, this validation matters far more than the installation command itself.

Upgrading from an EOL Node.js Version?

If you're running Node.js 20 or an older version in 2026, the upgrade deserves more planning.

An EOL runtime doesn't immediately stop working. Instead, it stops receiving community updates—including security patches—while the ecosystem around it continues moving forward.

That can eventually create problems with dependencies, operating systems, build tooling, hosting platforms, security requirements, and native modules.

The Node.js project maintains an official EOL page explaining what happens when a release becomes unsupported.

For a deeper technical explanation, read:

Node.js Versions Explained: Why Running an Outdated Release Is a Business Risk

And before starting a migration, you can inspect your application with:

npx @nodesource/upgrade

The NodeSource Node.js Upgrade Program, developed as part of the OpenJS Foundation's LTS Upgrade & Modernization initiative, can help identify migration blockers and build a modernization plan before they become production problems.

Which Method Should You Choose?

If you're a developer maintaining multiple Node.js projects, start with nvm-windows.

If you simply need Node.js installed on a Windows machine and expect to use one release line, the official installer is perfectly reasonable.

If your machine or organization already manages software through Winget or Chocolatey, those tools can provide a convenient update path—just make sure you know whether you're installing LTS or Current.

But remember:

Installing a new Node.js version is the easy part. Making sure your application is actually ready for it is the important part.

Check your version, understand its lifecycle, identify your application's compatibility risks, test under the target runtime, and then roll the upgrade forward with confidence.

The NodeSource platform offers a high-definition view of the performance, security and behavior of Node.js applications and functions.

Start for Free