npm
npmjs.com
What it is
npm is a JavaScript package registry and command-line tool for sharing code and managing packages. The Registry and CLI are free for public package use, and the Free plan lets public package authors publish unlimited public packages. npm accepts package.json folders, gzipped tarballs, URLs, name-and-version or name-and-tag references, and Git URLs. Its tools support dependency resolution, lockfiles, workspaces, private registry authentication, and offline installation. It runs on Linux, macOS, Windows, and other operating systems through Node.js installers or version managers. For private packages, the Paid user account plan is $7 a month; Pro is also $7 a month for individual creators, while Teams is $7 per user per month for teams and organizations. Pro includes unlimited private packages and package-based permissions; Teams adds team-based permissions. Organizations can manage members, teams, roles, permissions, and package access. All plans include basic support and automatic security warnings. Paid billing starts when card details are submitted, with the first month charged immediately.
Spec sheet
- Free plan
- YesRead 19 Sep 2026 · docs.npmjs.com
- Paid from
- 7Read 19 Sep 2026 · docs.npmjs.com
- Basic Support
- All npm plan versions include basic support.Read 27 Sep 2026 · npmjs.com
- CI/CD Integration
- npm documentation covers using private packages in a CI/CD workflow.Read 27 Sep 2026 · docs.npmjs.com
- Dependency resolution
- YesRead 19 Sep 2026 · docs.npmjs.com
- Developer Reach
- npm is relied upon by more than 17 million developers worldwide.Read 27 Sep 2026 · npmjs.com
- Docker Integration
- npm documentation includes Docker and private modules.Read 27 Sep 2026 · docs.npmjs.com
- Free Plan Scope
- The Free plan is for public package authors and includes unlimited public packages.Read 27 Sep 2026 · npmjs.com
- Free Registry
- The npm Registry and npm CLI are offered to the community for free.Read 27 Sep 2026 · npmjs.com
- GitHub Ownership
- GitHub is the company behind the npm Registry and npm CLI.Read 27 Sep 2026 · npmjs.com
- JavaScript Focus
- npm provides a JavaScript development experience and supports JavaScript code sharing.Read 27 Sep 2026 · npmjs.com
- Lockfile support
- YesRead 19 Sep 2026 · docs.npmjs.com
- Offline installation
- YesRead 19 Sep 2026 · docs.npmjs.com
- Package formats
- package.json folders,gzipped tarballs,URLs,name@version,name@tag,Git URLsRead 19 Sep 2026 · docs.npmjs.com
- Package Permissions
- Pro offers package-based permissions, while Teams offers team-based permissions.Read 27 Sep 2026 · npmjs.com
- Paid Billing Start
- Paid billing starts when credit card information is submitted, with the first month charged immediately.Read 27 Sep 2026 · docs.npmjs.com
- Private Publishing Price
- The paid user account plan costs $7 per month and enables private publishing.Read 27 Sep 2026 · docs.npmjs.com
- Private registry auth
- YesRead 19 Sep 2026 · docs.npmjs.com
- Pro Private Packages
- Pro includes unlimited private packages for individual creators.Read 27 Sep 2026 · npmjs.com
- Registry Scale
- The free Registry has more than two million packages and is described as the largest software registry.Read 27 Sep 2026 · npmjs.com
- Security Warnings
- Free, Pro, and Teams include unlimited public packages and automatic security warnings.Read 27 Sep 2026 · npmjs.com
- Supported platforms
- macOS,Windows,Linux,and other operating systems via Node.js installers or version managersRead 19 Sep 2026 · docs.npmjs.com
- Team Management
- npm supports organizations, members, teams, roles, permissions, and package access management.Read 27 Sep 2026 · docs.npmjs.com
- Team Private Packages
- Teams includes unlimited private packages for teams and organizations.Read 27 Sep 2026 · npmjs.com
- Two-Factor Security
- npm documentation includes two-factor authentication for accounts, organizations, publishing, and settings changes.Read 27 Sep 2026 · docs.npmjs.com
- Workspace support
- YesRead 19 Sep 2026 · docs.npmjs.com
- Workspace Support
- The npm CLI documentation includes Workspaces.Read 27 Sep 2026 · docs.npmjs.com
Plans and prices
Strong points and limits
Strong points
- Free plan includes unlimited public packages
- Supports lockfiles, workspaces, and dependency resolution
- Offline installation is supported
- Pro and Teams include unlimited private packages
- Plans include automatic security warnings
Limits
- Paid billing starts when card details are submitted
- First paid month is charged immediately
- Teams is priced per user per month
Who it suits
npm suits JavaScript developers who need to publish, find, or use packages. Its plans distinguish public package publishing from private packages for individuals and teams.
npm in depth
Read the full write-up
Overview
npm is a package registry and command-line tool for JavaScript developers who need to find, install or distribute reusable code. It is a strong default for public JavaScript packages; private publishing is the point at which its recurring cost and choice of account plan matter.
Operated by GitHub, the Registry contains more than two million packages and is relied upon by more than 17 million developers worldwide. That reach makes npm a practical channel for sharing JavaScript code, while the free public tier lowers the barrier for authors and users alike. It is not a language-neutral choice: its development experience is focused on JavaScript.
For broader comparisons, see JavaScript Package Managers, Package Managers, and Package Registries.
Key features
Package distribution and project dependencies
npm accepts package.json folders, gzipped tarballs, URLs, name-and-version and name-and-tag references, and Git URLs. Dependency resolution, lockfiles and workspaces cover common project needs, while private registry authentication helps teams consume restricted packages. Offline installation is useful when network access is unavailable, though npm’s stated focus remains JavaScript code sharing rather than general-purpose package management.
Access and security
Free, Pro and Teams include unlimited public packages and automatic security warnings. npm also documents two-factor authentication for accounts, organizations, publishing and settings changes. Organizations can manage members, teams, roles, permissions and package access; Pro uses package-based permissions, while Teams uses team-based permissions. CI/CD and Docker workflows for private packages are covered, a useful fit for teams integrating package access into build workflows.
Pricing
The Free plan costs nothing, billed monthly. It is aimed at public package authors and includes unlimited public packages, public publishing and use, and Registry access. For open distribution, this is the clearest fit; it does not provide private publishing.
The Paid user account costs $7 a month, billed monthly, and enables installing and publishing private packages. Pro also costs $7 a month, billed $7 per month, and is aimed at individual creators: it includes unlimited private packages and package-based permissions. Teams costs $7 per user per month, billed $7 per user per month, for teams and organizations; it includes unlimited private packages and team-based permissions. All plan versions include basic support.
Private publishing is therefore a recurring expense, and Teams’ per-user rate makes seat count relevant as an organization grows. Paid billing starts when credit card information is submitted, with the first month charged immediately. The free plan remains the better choice when public packages are sufficient.
Platforms
npm runs on Linux, macOS and Windows. Other operating systems are supported through Node.js installers or version managers, extending its reach beyond the three listed platforms.
Who it's for
npm suits JavaScript developers consuming public dependencies, authors distributing public packages, and individual creators or organizations that need private packages. Pro’s package-level permissions suit individual private publishing; Teams’ team-based permissions better match organizations coordinating access. Developers working primarily in another language should consider a tool designed for that ecosystem instead.
Pros and cons
Pro: Unlimited public packages on the free plan make public distribution viable without a publishing cap.
Pro: Dependency resolution, lockfiles, workspaces and offline installation cover a broad set of JavaScript project workflows.
Pro: Unlimited private packages are included in both paid individual and team plans, with permissions suited to each audience.
Con: Private publishing requires a paid account, and Teams charges per user, so private use carries an ongoing cost.
Con: Its focus is JavaScript development and sharing, making it a poor fit for readers seeking a package manager centered on a different language.
Alternatives
For other ecosystems, uv is a free Python package manager, Gradle is a free build system, and Cargo is a free Rust package manager and build tool. Yarn is a free open-source package manager with no paid plans or usage limits stated; pnpm is another free package manager. Conan is a free and open-source option for C and C++ package and binary management, while Composer provides free PHP dependency management. Go Modules is another free option.
For related categories, see Monorepo Management Tools.
Verdict
Choose npm if your work centers on JavaScript and you want broad public package distribution, established dependency workflows, or private packages with permissions matched to individual or team use. Its free tier is compelling for public work; look elsewhere when your primary ecosystem is not JavaScript, or weigh the recurring per-user Teams cost before committing private packages to an organization.
Verdict
npm provides free public package use and paid options for private packages, with separate permissions for individual creators and teams. Review the billing start and per-user Teams price if private publishing is needed.
Where Specifiction places it
- Package Managers#1 of 939.3
- JavaScript Package Managers#1 of 198.9
- Monorepo Management Tools#2 of 338.7
- Package Registries#5 of 288.8