Skip to content
SPECIFICTION
Get listed

npm

npmjs.com

From $7/mo Free plan WindowsmacOSLinux
Visit npmjs.com
Spec score 9.3 #1 of 93 in Package Managers

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

Free Free billed monthly Public package publishing and use · Public registry access For public package authors; unlimited public packages. Read 27 Sep 2026 · npmjs.com
Paid user account $7 a month billed monthly Install and publish private packages Read 19 Sep 2026 · docs.npmjs.com
Pro $7 a month $7 per month For individual creators; includes unlimited private packages and package-based permissions. Read 27 Sep 2026 · npmjs.com
Teams $7 a month $7 per user per month For teams and organizations; includes unlimited private packages and team-based permissions. Read 27 Sep 2026 · npmjs.com

Every npm plan and price →

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

Alternatives to npmAll alternatives →