103

What ways are there to find npm packages?

Below is community maintained listing compiled from the answers below.

npm Specific

Generic

Dead

friederbluemle
  • 33,549
  • 14
  • 108
  • 109
Alfred
  • 60,935
  • 33
  • 147
  • 186
  • 1
    I've gotta be honest, between the three of those, I don't know how you *couldn't* find a node package. haha are you searching for something in particular and not finding it? – Kristian May 13 '12 at 00:44
  • @kristian this list is pretty good. But I am wondering if there is more(more is better...) :P. – Alfred May 13 '12 at 00:45
  • @Kristian for example search for specific version of node only, or date, because I don't like old/unmaintained packages etc.. – Alfred May 13 '12 at 00:48
  • Perhaps keeping each item as a separate answer would be a good idea so people can vote them, leading to a crowd-sourced ranking. – balupton Jun 21 '14 at 05:10
  • For discussion on npm official issue tracker, see https://github.com/npm/npm/issues/11519 – Ben Creasy Feb 07 '17 at 07:29
  • nipster also seems dead – astoilkov May 24 '21 at 08:17

15 Answers15

39

npm search works pretty well:

npm search connect

npm view will show you the timestamp of each version and everthing else from package.json (including node version)

npm view connect

mihai
  • 37,072
  • 9
  • 60
  • 86
29

There's nipster too, based on npm + github rating.

kevin
  • 1,552
  • 10
  • 10
  • 7
    actually the spelling is "nipstr", today I learned from google that a "nipster" is a nazi-hipster – Nickolaus Jun 14 '16 at 10:32
  • Github repository URL has changed to [Nipster](https://github.com/eirikb/nipster) and the author has deployed the code to http://nipstr.com/ but it looks like it's outdated. – Rafa Moyano Jun 27 '21 at 20:17
11

Libraries.io is great for searching and filtering through NPM modules, you can also filter by license and keyword: https://libraries.io/search?platforms=NPM

Andrew Nesbitt
  • 5,976
  • 1
  • 32
  • 36
  • It’s a great tool but have issue with not existing package versions and more [GitHub Issue](https://github.com/librariesio/libraries.io/issues/2432) – Raz Luvaton Mar 19 '20 at 07:47
6

For me the best site for this purpose is Openbase:

https://openbase.com/

By VERY far. It's stats and features are, AFAIK, unmatched by any other site.

Nelson Teixeira
  • 6,297
  • 5
  • 36
  • 73
4

https://npms.io is really nice, provides quality and maintenance stats too

balupton
  • 47,113
  • 32
  • 131
  • 182
3

npmsearch sorts the results by a combination of relevance and downloads. The command line version can be installed from npm:

[sudo] npm install -g npmsearch

disclamer: I am the author of npmsearch


node-modules allows you to personalize your results according to the modules that you have starred/followed on github

balupton
  • 47,113
  • 32
  • 131
  • 182
Gjorgi Kjosev
  • 1,559
  • 14
  • 24
2

For a fast method available in your console, type:

npm search keyword

< Keyword > searches Title, Description, Author and Keywords of all packages.

a20
  • 5,495
  • 2
  • 30
  • 27
2

Here's another one: https://npmaddict.com/

Not a search but daily list of New packages with at least 5 GitHub stars

laggingreflex
  • 32,948
  • 35
  • 141
  • 196
1

https://github.com/Enome/node-package-finder (Latest commit 26ff789 on 4 May 2012, should count as dead)

balupton
  • 47,113
  • 32
  • 131
  • 182
Pickels
  • 33,902
  • 26
  • 118
  • 178
1

https://nodejsmodules.org/ is one that lets you search, as well as browse by popularity

balupton
  • 47,113
  • 32
  • 131
  • 182
Touv
  • 960
  • 8
  • 10
0

I personally use npmsearch.com

I'm not sure how it works internally but it usually gives the best results.

Kamil Tomšík
  • 2,415
  • 2
  • 28
  • 32
0

Just in case anyone comes across this question, I also created a tool to help people discover what npm packages other people are using:

http://www.npmdiscover.com

0

It's sad but npm search won't work for me on node version 6+.

A quick workaround is by doing a curl from the command line:

curl --fail -O https://www.npmjs.com/package/q-promise 2>&1 | grep '404'

If this command returns nothing then the module exist if it does return a 404 the name is available for you to use.

Rick
  • 12,606
  • 2
  • 43
  • 41
0

According to the NPMS (NPM Search) docs on how to perform a search query, you can use the following operators in the npmjs.com search bar:

Search Syntax Description
scope:types Show/filter results that belong to the @types scope
author:sindresorhus Show/filter results in which sindresorhus is the author
maintainer:sindresorhus Show/filter results in which sindresorhus is qualifier as a maintainer
keywords:gulpplugin Show/filter results that have gulpplugin in the keywords (separate multiple keywords with commas, you may also exclude keywords e.g. -framework)
not:deprecated Exclude deprecated packages from the results
not:unstable Exclude packages whose version is < 1.0.0
not:insecure Exclude packages that are insecure or have vulnerable dependencies (as per nsp)
is:deprecated Show/filter is deprecated packages
is:unstable Show/filter packages whose version is < 1.0.0
is:insecure Show/filter packages that are insecure or have vulnerable dependencies (as per nsp)
boost-exact:false Do not boost exact matches, defaults to true
score-effect:14 Set the effect that package scores have for the final search score, defaults to 15.3
quality-weight:1 Set the weight that quality has for the each package score, defaults to 1.95
popularity-weight:1 Set the weight that popularity has for the each package score, defaults to 3.3
maintenance-weight:1 Set the weight that the quality has for the each package score, defaults to 2.05

Further Reading

KyleMit
  • 30,350
  • 66
  • 462
  • 664
0

NPM can feel overwhelming because it is the largest package registry! Sometimes, we need less or a more curated suggestions when looking...

This is why I built https://pkg.land

It helps you find similar packages on npm, e.g https://pkg.land/moment will suggest you dayjs, date-fns etc.

It's still in beta but I do intend to maintain and improve it over time.

pkgland
  • 1
  • 2
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Dec 28 '21 at 03:29