Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including all-the-package-names with all npm packages installed. Try it out:

var allThePackageNames = require("all-the-package-names")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

all-the-package-names v1.3905.0

A list of all the public package names on npm. Updated daily.


A list of all the public package names on npm.


npm install all-the-package-names --save


The module exports a big flat array of package names:

const names = require("all-the-package-names")

// Most-depended-on names are first. See what's popular!
// [
//   'mocha',
//   'chai',
//   'lodash',
//   'grunt',
//   'eslint'
// ]

// => true

// Check if a given package name exists
// => false

// => 286289

names.filter(name => name.includes('banana'))
// => [ 'banana', 'banana-banana', 'banana-split', ...]

// Note: This example requires node 4 or greater because it uses
// const, arrow functions, and the `includes` array/string helper.

CLI Usage

You can also use it on the command line. Newline-delimited names are piped to STDOUT:

npm i -g all-the-package-names
all-the-package-names | grep spell

⚠️ Gotchas

Note that while mixed-case package names are no longer allowed to be published to the npm registry, there are over 2800 legacy mixed-case packages, many of which have the same spelling as other existing lowercase packages. See nice-registry/mixed-case-package-names for the the full list.

To avoid the mixed-case names when working with this data, just filter them out:

const names = require('all-the-package-names')
  .filter(name => name === name.toLowerCase())


npm install
npm test



Dev Dependencies

  • dependent-counts: Get counts of how many packages depend on the given package. Works offline.
  • lodash: The modern build of lodash modular utilities.
  • ora: Elegant terminal spinner
  • package-stream: An endless stream of clean package data from the npm registry.
  • tap-spec: Formatted TAP output like Mocha's spec reporter
  • tape: tap-producing test harness for node and browsers




RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free