Instantly check if npm package names are available — with bulk check and smart suggestions.
Coming up with a good npm package name is hard. Names get taken fast, and checking one at a time on npmjs.com is painfully slow.
npm-name-check lets you check dozens of names in seconds, right from your terminal — and suggests alternatives when your first choice is taken.
npm install -g npm-name-checkOr use it instantly without installing:
npx npm-name-check my-awesome-lib# Check a single name
npm-name-check my-awesome-lib
# ✅ my-awesome-lib is available!
# Check multiple names at once
npm-name-check react vue svelte solid
# ❌ react — taken
# ❌ vue — taken
# ❌ svelte — taken
# ❌ solid — taken
# Get suggestions for taken names
npm-name-check react --suggest
# ❌ react — taken
# 💡 Suggestions:
# ✅ react-toolkit
# ✅ my-react
# ✅ react-plus- ⚡ Fast — parallel checks against the npm registry
- 📦 Bulk check — check multiple names in one command
- 💡 Smart suggestions — suggests available alternatives with common prefixes/suffixes
- 🎨 Color output — green for available, red for taken
- 🪶 Zero dependencies — just Node.js built-ins
npm-name-check utils helper toolkit toolbox kitCheck a batch of candidates in one shot instead of searching npmjs.com five times.
# In your CI pipeline — fail if name is already taken
npm-name-check $(node -p "require('./package.json').name") || exit 1npm-name-check acme-utils acme-cli acme-core acme-sdk --suggestnpm-name-check create-my-app my-app-cli my-app-core --suggestGet suggestions for taken names automatically.
You can also use it programmatically:
const { checkName } = require('npm-name-check');
const result = await checkName('my-package');
// { name: 'my-package', available: true }| Tool | Bulk Check | Suggestions | Zero Deps | CLI | Programmatic |
|---|---|---|---|---|---|
| npm-name-check | ✅ | ✅ | ✅ | ✅ | ✅ |
| npm-name (sindresorhus) | ❌ | ❌ | ❌ | ❌ | ✅ |
| npm-name-cli | ❌ | ❌ | ❌ | ✅ | ❌ |
| npmjs.com search | ❌ | ❌ | — | ❌ | ❌ |
- Keep it short —
dep-sizebeatsdependency-size-checker-tool - Use hyphens —
my-toolnotmyToolormy_tool - Be descriptive — the name should hint at what it does
- Avoid generic terms alone —
utilsis taken;acme-utilsmight not be - Check early — run
npm-name-checkbefore writing a single line of code
- commitwiz-ai — AI-powered git commit messages
- dep-size — Check npm package sizes before installing
- env-lint-cli — Validate .env files against .env.example
- license-maker — Add open source licenses in seconds
MIT © kszongic
If this saved you time, consider sponsoring 💛