npm is the package manager and software registry of the JavaScript ecosystem, run by GitHub. A package manager is a tool that downloads the libraries a project depends on, in the right versions. npm has three parts: the website, the command-line interface (CLI), and the registry, a large public database of JavaScript software and its metadata. The home page says the registry holds more than two million packages.
A developer runs the CLI in a terminal to install packages into a project, to update them when the code they depend on changes, and to publish a package so that any other npm user can install it. The npx command runs a package without installing it first. Scopes and organizations group packages under one name, so a team controls who may publish and who may read its private packages. The npm audit command checks dependencies for known security vulnerabilities.
The registry and the CLI are free, and sharing public packages costs nothing. Private packages need a paid plan: npm Pro for individuals or npm Teams for organizations, billed monthly.