nvm vs NVM for Windows
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
A command-line tool to install and switch between multiple Node.js versions on Mac, Linux, and WSL.
Open source · MIT
A Windows tool for installing and switching between multiple Node.js versions.
The short answer
Choose nvm if you need…
- Developers who work on several Node.js projects that need different versions
- People on macOS, Linux, or Windows WSL who use a POSIX-compatible shell like bash or zsh
- Teams that pin a version in a .nvmrc file so everyone runs the same Node.js version
- Beginners who want a simple way to try a specific Node.js release
Choose NVM for Windows if you need…
- Windows developers who work on several Node.js projects that need different versions
- Developers who want to avoid needing administrator rights to change Node.js versions
- Teams that want a pinned Node.js version per project directory
- People moving to Windows from the Mac/Linux nvm who want a similar workflow
Side-by-side
| nvm | NVM for Windows | |
|---|---|---|
| Type | Dev tool | App |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 95.7k | 48.1k |
| Setup difficulty | Beginner | Beginner |
| How you get it | Clone and build from source | Download the app |
| Main language | Shell | Inno Setup |
| Last code update | 8 days ago | 4 days ago |
What each one is
nvm
nvm is a small shell script that lets you install several versions of Node.js on one computer and switch between them from the terminal. It is installed per user and loaded in each shell session. People use it when different projects need different Node.js versions.
NVM for Windows
NVM for Windows is a version manager for Node.js on Windows. It lets you install several Node.js versions side by side and choose which one is active, including setting a different version per project directory. The README describes it as the Microsoft and Google recommended option for Windows developers, and it is a separate project from the Mac/Linux nvm.
Best for
nvm
- Developers who work on several Node.js projects that need different versions
- People on macOS, Linux, or Windows WSL who use a POSIX-compatible shell like bash or zsh
- Teams that pin a version in a .nvmrc file so everyone runs the same Node.js version
- Beginners who want a simple way to try a specific Node.js release
NVM for Windows
- Windows developers who work on several Node.js projects that need different versions
- Developers who want to avoid needing administrator rights to change Node.js versions
- Teams that want a pinned Node.js version per project directory
- People moving to Windows from the Mac/Linux nvm who want a similar workflow
Strengths
nvm
- Lets you keep several Node.js versions installed and switch between them quickly
- Works with common POSIX shells such as bash, zsh, dash, and ksh, per the README
- MIT licensed and widely used, with a large and active open-source community
NVM for Windows
- The README says it does not require mandatory administrator privileges
- Per-directory version pinning and auto-install of missing versions reduce manual switching
- Has a large user base, with over 48,000 GitHub stars and an MIT license
Not ideal for
nvm
- Windows users running native PowerShell or cmd without WSL, since the README only describes unix, macOS, and WSL support
- People who only need one Node.js version and never switch, since a system install or a direct download may be simpler
- Environments that cannot run shell scripts or need a fixed, prebuilt binary without an installer step
NVM for Windows
- Mac or Linux users, since the README says the project is for Windows only and the original nvm is the one for those systems
- Users who need the commercial Certified Builds features but only use the free edition, since the policy, logging, and trust features are add-ons
- People who only ever use one Node.js version and do not need switching
Trade-offs
nvm
- It is a shell script rather than a native app, so behavior depends on your shell setup and profile files
- The README notes Windows support is through WSL, not native Windows
- Setup involves editing shell profile files, which can be confusing for beginners
NVM for Windows
- The README lists several features as paid add-ons under Certified Builds, so some enterprise needs are not in the free edition
- Behavior differs from the Mac/Linux nvm, so instructions written for that tool may not apply
- The README is truncated, so detailed setup steps and system requirements are not confirmed here
Getting started
nvm
Install or update nvm (cURL)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bashInstall or update nvm (Wget)
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bashNVM for Windows
Clone the repository
git clone https://github.com/nvm-windows/nvmFrequently asked questions
What is the difference between nvm and NVM for Windows?
nvm: A command-line tool to install and switch between multiple Node.js versions on Mac, Linux, and WSL. NVM for Windows: A Windows tool for installing and switching between multiple Node.js versions. nvm suits developers who work on several node.js projects that need different versions, while NVM for Windows suits windows developers who work on several node.js projects that need different versions.
Are nvm and NVM for Windows free?
nvm: Free and open source. NVM for Windows: Free and open source.
Is nvm or NVM for Windows more popular?
nvm has more GitHub stars (95.7k) than NVM for Windows (48.1k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to nvm and NVM for Windows?
Other options people compare them with include n, asdf.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.