About npm

npm is the world’s largest software registry. Open source developers from every continent use npm to share and borrow packages, and many organizations use npm to manage private development as well.

npm consists of three distinct components:

  • the website
  • the Command Line Interface (CLI)
  • the registry

Use the website to discover packages, set up profiles, and manage other aspects of your npm experience. For example, you can set up Orgs (organizations) to manage access to public or private packages.

The CLI runs from a terminal, and is how most developers interact with npm.

The registry is a large public database of JavaScript software and the meta-information surrounding it.
Use npm to . . .

  • Adapt packages of code for your apps, or incorporate packages as they are.
  • Download standalone tools you can use right away.
  • Run packages without downloading using npx.
  • Share code with any npm user, anywhere.
  • Restrict code to specific developers.
  • Create Orgs (organizations) to coordinate package maintenance, coding, and developers.
  • Form virtual teams by using Orgs.
  • Manage multiple versions of code and code dependencies.
  • Update applications easily when underlying code is updated.
  • Discover multiple ways to solve the same puzzle.
  • Find other developers who are working on similar problems and projects.

Getting started

To get started with npm, you can create an account, which will be available at

After you set up an npm account, the next step is to use the command line interface (CLI) to install npm. We look forward to seeing what you create!
Sharing packages and collaborating with others

If you choose to share your packages publicly, there is no cost. To use and share private packages, you need to upgrade your account. To share with others, create organizations, called npm Orgs, and invite others to work with you, privately (for a fee) or publicly (for free). Or you can sign up for a private instance of npm for your company, called npm Enterprise, so you can develop packages internally that are not shared publicly.

What is npm?

npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day. npm is a tool in the Front End Package Manager category of a tech Stack. npm is an open source tool with 17.2K GitHub stars and 3.2K GitHub forks. Here’s a link to npm’s open source repository on GitHub.

npm Free

Become a contributing member of the open source JavaScript community. Create public packages, publish updates, audit your dependencies, and more.

npm Enterprise

For very large teams and business-critical projects, npm Enterprise delivers features that organizations with hundreds of developers need, like SSO and enhanced security.

npm PkgSafe

Our security team’s unique insights into JavaScript vulnerabilities and threats are delivered as free and premium features, as well as services for resellers and others.