awesome-nodejs

Node package list

A curated collection of Node.js packages and resources for developers

zap Delightful Node.js packages and resources

GitHub

59k stars
2k watching
6k forks
last commit: about 1 month ago
Linked from 17 awesome lists

awesomeawesome-listjavascriptlistnodenodejs

Official

Website
Documentation
Repository 108,373 about 1 month ago

Packages / Mad science

webtorrent 29,740 about 1 month ago Streaming torrent client for Node.js and the browser
peerflix 6,195 over 2 years ago Streaming torrent client
ipfs 997 about 1 month ago Distributed file system that seeks to connect all computing devices with the same system of files
stackgl Open software ecosystem for WebGL, built on top of browserify and npm
peerwiki 317 almost 7 years ago All of Wikipedia on BitTorrent
peercast 516 over 6 years ago Stream a torrent video to Chromecast
BitcoinJS 5,744 about 1 month ago Clean, readable, proven Bitcoin library
Bitcore 4,884 about 1 month ago Pure and powerful Bitcoin library
PDFKit 9,970 about 1 month ago PDF generation library
turf 9,438 about 1 month ago Modular geospatial processing and analysis engine
webcat 446 over 4 years ago p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication
NodeOS 6,948 almost 2 years ago The first operating system powered by npm
YodaOS 1,192 about 5 years ago AI operating system
Brain.js 14,474 4 months ago Machine-learning framework
Pipcook 2,551 about 1 month ago Front-end algorithm framework to create a machine learning pipeline
Cytoscape.js 10,166 about 1 month ago Graph theory (a.k.a. network) modeling and analysis
js-git 3,835 about 3 years ago JavaScript implementation of Git
xlsx 35,263 9 months ago Pure JS Excel spreadsheet reader and writer
isomorphic-git 7,527 about 1 month ago Pure JavaScript implementation of Git

Packages / Command-line apps

np 7,586 about 2 months ago Better
npm-name 168 11 months ago Check a package name's availability on npm
gh-home 191 6 months ago Open the GitHub page of the repo in the current directory
npm-home 198 6 months ago Open the npm page of a package
trash 2,584 6 months ago Safer alternative to
speed-test 3,912 about 3 years ago Test your internet connection speed and ping
pageres 9,683 6 months ago Capture website screenshots
cpy 426 6 months ago Copy files
vtop 4,134 over 4 years ago More better top, with nice charts
empty-trash 131 over 3 years ago Empty the trash
is-up 388 over 3 years ago Check whether a website is up or down
is-online 1,244 6 months ago Check if the internet connection is up
public-ip 1,030 6 months ago Get your public IP address
clipboard-cli 496 about 1 year ago Copy & paste on the terminal
XO 7,713 about 1 month ago Enforce strict code style using the JavaScript happiness style
ESLint 25,239 about 1 month ago The pluggable linting utility for JavaScript
David 967 about 2 years ago Tells you when your package npm dependencies are out of date
http-server 13,696 2 months ago Simple, zero-config command-line HTTP server
Live Server 4,442 9 months ago Development HTTP-server with livereload capability
bcat 341 over 2 years ago Pipe command output to web browsers
normit 241 almost 8 years ago Google Translate with speech synthesis in your terminal
fkill 6,888 8 months ago Fabulously kill processes. Cross-platform
pjs 420 almost 2 years ago Pipeable JavaScript. Quickly filter, map, and reduce from the terminal
license-checker 1,618 12 months ago Check licenses of your app's dependencies
browser-run 450 3 months ago Easily run code in a browser environment
tmpin 124 over 3 years ago Adds stdin support to any CLI app that accepts file input
wallpaper 1,056 6 months ago Change the desktop wallpaper
pen 325 over 4 years ago Live Markdown preview in the browser from your favorite editor
dark-mode 662 over 3 years ago Toggle the macOS Dark Mode
Jsome 244 about 1 year ago Pretty prints JSON with configurable colors and indentation
mobicon 112 almost 4 years ago Mobile app icon generator
mobisplash 71 almost 8 years ago Mobile app splash screen generator
diff2html-cli 541 2 months ago Pretty git diff to HTML generator
trymodule 1,135 almost 8 years ago Try out npm packages in the terminal
jscpd 4,738 about 1 month ago Copy/paste detector for source code
atmo 815 over 3 years ago Server-side API mocking
auto-install 1,198 over 3 years ago Auto installs dependencies as you code
lessmd Markdown in the terminal
cost-of-modules 2,843 over 1 year ago Find out which dependencies are slowing you down
localtunnel 19,309 10 months ago Expose your localhost to the world
svg-term-cli 3,573 9 months ago Share terminal sessions via SVG
gtop 9,741 9 months ago System monitoring dashboard for the terminal
themer 5,522 7 months ago Generate themes for your editor, terminal, wallpaper, Slack, and more
carbon-now-cli 5,802 about 1 month ago Beautiful images of your code — from right inside your terminal
cash-cli 236 over 1 year ago Convert between 170 currencies
taskbook 8,986 5 months ago Tasks, boards & notes for the command-line habitat
discharge 643 almost 4 years ago Easily deploy static websites to Amazon S3
npkill 8,393 5 months ago Easily find and remove old and heavy node_modules folders

Packages / Functional programming

lodash 59,969 about 1 month ago Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js
immutable 32,987 about 2 months ago Immutable data collections
Ramda 23,853 about 2 months ago Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data
Mout 1,291 about 1 year ago Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead
RxJS 30,862 7 months ago Functional reactive library for transforming, composing, and querying various kinds of data
Kefir.js 1,876 7 months ago Reactive library with focus on high performance and low memory usage

Packages / HTTP

got 14,351 about 1 month ago Nicer interface to the built-in module
undici 6,410 about 1 month ago High performance HTTP client written from scratch with zero dependencies
ky-universal 672 over 1 year ago Universal HTTP client based on Fetch
node-fetch 8,807 5 months ago for Node.js
axios 105,978 about 1 month ago Promise based HTTP client (works in the browser too)
superagent 16,604 3 months ago HTTP request library
http-fake-backend 311 about 1 year ago Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes
cacheable-request Wrap native HTTP requests with RFC compliant cache support
gotql 407 11 months ago GraphQL request library built on
global-agent 365 5 months ago Global HTTP/HTTPS proxy agent that is configurable using environment variables
smoke 189 2 months ago File-based HTTP mock server with recording abilities
purest 555 about 1 year ago REST client

Packages / Debugging / Profiling

debug 11,176 about 1 month ago Tiny debugging utility
why-is-node-running 1,877 3 months ago Node.js is running but you don't know why?
njsTrace 368 12 months ago Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function
vstream 59 about 3 years ago Instrumentable streams mix-ins to inspect a pipeline of streams
stackman 251 about 1 year ago Enhance an error stacktrace with code excerpts and other goodies
locus 306 over 3 years ago Starts a REPL at runtime that has access to all variables
0x 3,272 2 months ago Flamegraph profiling
ctrace 120 about 5 years ago Well-formatted and improved trace system calls and signals
leakage 1,584 almost 2 years ago Write memory leak tests
llnode 1,153 11 months ago Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process
thetool 222 about 2 years ago Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format
swagger-stats 906 9 months ago Trace API calls and monitor API performance, health, and usage metrics
NiM 197 3 months ago Manages DevTools debugging workflow
dats 103 7 months ago Minimalistic and zero-dependencies client

Packages / Logging

pino 14,483 about 1 month ago Extremely fast logger inspired by Bunyan
winston 23,040 about 1 month ago Multi-transport async logging library
console-log-level 111 about 1 year ago The most simple logger imaginable with support for log levels and custom prefixes
storyboard 755 about 2 years ago End-to-end, hierarchical, real-time, colorful logs and stories
consola 6,199 about 1 month ago Console logger

Packages / Command-line utilities

chalk 22,047 5 months ago Terminal string styling done right
meow 3,558 10 months ago CLI app helper
yargs 11,126 4 months ago Command-line parser that automatically generates an elegant user-interface
ora 9,194 3 months ago Elegant terminal spinner
get-stdin 337 over 1 year ago Easier stdin
log-update 1,100 6 months ago Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc
Ink 27,354 about 2 months ago React for interactive command-line apps
listr2 532 about 1 month ago Terminal task list
conf 1,244 about 1 month ago Simple config handling for your app or module
ansi-escapes 498 9 months ago ANSI escape codes for manipulating the terminal
log-symbols 747 5 months ago Colored symbols for various log levels
figures 596 3 months ago Unicode symbols with Windows CMD fallbacks
boxen 1,552 6 months ago Create boxes in the terminal
terminal-link 624 almost 2 years ago Create clickable links in the terminal
terminal-image 983 6 months ago Display images in the terminal
string-width 483 7 months ago Get the visual width of a string - the number of columns required to display it
cli-truncate 86 about 1 year ago Truncate a string to a specific width in the terminal
blessed 11,364 10 months ago Curses-like library
Inquirer.js 20,383 about 1 month ago Interactive command-line prompt
yn 268 over 2 years ago Parse yes/no like values
cli-table3 544 about 2 months ago Pretty unicode tables
drawille 1,010 over 2 years ago Draw on the terminal with unicode braille characters
ascii-charts 233 over 2 years ago ASCII bar chart in the terminal
progress 2,979 almost 2 years ago Flexible ascii progress bar
insight 557 about 1 month ago Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
cli-cursor 105 6 months ago Toggle the CLI cursor
cli-columns 34 about 3 years ago Columnated unicode and ansi-safe text lists
cfonts 1,611 7 months ago Sexy ASCII fonts for the console
multispinner 296 almost 5 years ago Multiple, simultaneous, individually controllable CLI spinners
omelette 1,391 almost 3 years ago Shell autocompletion helper
cross-env 6,343 about 4 years ago Set environment variables cross-platform
shelljs 14,272 5 months ago Portable Unix shell commands
sudo-block 98 over 1 year ago Block users from running your app with root permissions
sparkly 424 about 3 years ago Generate sparklines
Bit 17,938 about 1 month ago Create, maintain, find and use small modules and components across repositories
gradient-string 1,102 3 months ago Beautiful color gradients in terminal output
oclif 9,057 about 1 month ago CLI framework complete with parser, automatic documentation, testing, and plugins
terminal-size 141 about 1 year ago Reliably get the terminal window size
Cliffy 359 7 months ago Framework for interactive CLIs
zx 43,262 about 1 month ago Write shell scripts JavaScript

Packages / Build tools

parcel 43,546 about 1 month ago Blazing fast, zero config web app bundler
webpack 64,893 about 1 month ago Packs modules and assets for the browser
rollup 25,457 about 1 month ago Next-generation ES2015 module bundler
gulp 33,034 8 months ago Streaming and fast build system that favors code over config
Broccoli 3,325 9 months ago Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions
Brunch 6,793 about 2 years ago Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow
FuseBox 4,001 about 2 years ago Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support
pkg 24,328 about 1 year ago Package your Node.js project into an executable
Vite 69,303 about 1 month ago Front-end build tool with hot module replacement and static asset bundling

Packages / Hardware

johnny-five 13,317 about 1 year ago Firmata based Arduino Framework
serialport 5,845 about 1 month ago Access serial ports for reading and writing
usb 1,578 about 1 month ago USB library
i2c-bus 349 10 months ago I2C serial bus access
onoff 1,242 7 months ago GPIO access and interrupt detection
spi-device 117 over 3 years ago SPI serial bus access
pigpio 949 almost 2 years ago Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi
gps 257 3 months ago NMEA parser for handling GPS receivers
modbus-serial 647 5 months ago A pure JavaScript implementation of MODBUS-RTU (serial and TCP)

Packages / Templating

marko 13,434 about 1 month ago HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags
nunjucks 8,606 6 months ago Templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
handlebars.js 18,060 5 months ago Superset of Mustache templates which adds powerful features like helpers and more advanced blocks
EJS 7,802 5 months ago Simple unopinionated templating language
Pug 21,718 6 months ago High-performance template engine heavily influenced by Haml

Packages / Web frameworks

Fastify 32,612 about 1 month ago Fast and low overhead web framework
Next.js 127,853 about 1 month ago Minimalistic framework for server-rendered universal JavaScript web apps
Nuxt.js 55,343 about 1 month ago Minimalistic framework for server-rendered Vue.js apps
Hapi 14,649 3 months ago Framework for building applications and services
Micro 10,593 7 months ago Minimalistic microservice framework with an async approach
Koa 35,268 about 1 month ago Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs
Express 65,903 about 1 month ago Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications
Feathers 15,091 about 2 months ago Microservice framework built in the spirit of Express
LoopBack 4,971 about 1 month ago Powerful framework for creating REST APIs and easily connecting to backend data sources
Meteor 44,479 about 1 month ago An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework
Restify 10,719 4 months ago Enables you to build correct REST web services
ThinkJS 5,307 over 1 year ago Framework with ES2015+ support, WebSockets, REST API
ActionHero 2,403 2 months ago Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients
seneca 3,964 4 months ago Toolkit for writing microservices
AdonisJs 17,117 about 1 month ago A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container
Moleculer 6,181 about 1 month ago Fast & powerful microservices framework
Nest 68,448 about 1 month ago Angular-inspired framework for building efficient and scalable server-side apps
TypeGraphQL 8,046 2 months ago Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators
Tinyhttp 2,751 about 1 month ago Modern and fast Express-like web framework
Marble.js 2,147 11 months ago Functional reactive framework for building server-side apps, based on TypeScript and RxJS
Lad 2,281 about 1 month ago Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers
Ts.ED 2,872 about 1 month ago Intuitive TypeScript framework for building server-side apps on top of Express.js or Koa.js
Hono 20,908 about 1 month ago Small and fast web framework

Packages / Documentation

documentation.js 5,795 9 months ago API documentation generator with support for ES2015+ and flow annotation
Docco 3,554 7 months ago Documentation generator which produces an HTML document that displays your comments intermingled with your code
JSDoc 15,089 about 1 month ago API documentation generator similar to JavaDoc or PHPDoc
Docusaurus 57,203 about 1 month ago Documentation website generator that leverages React and Markdown, and comes with translation and versioning features

Packages / Filesystem

del 1,327 3 months ago Delete files/folders using globs
globby 2,543 7 months ago Glob files with support for multiple patterns
chokidar 11,085 3 months ago Filesystem watcher which stabilizes events from and as well as using native on macOS
find-up 585 7 months ago Find a file by walking up parent directories
proper-lockfile 241 about 1 year ago Inter-process and inter-machine lockfile utility
load-json-file 245 over 1 year ago Read and parse a JSON file
write-json-file 220 6 months ago Stringify and write JSON to a file atomically
fs-write-stream-atomic 49 almost 3 years ago Like , but atomic
filenamify 489 over 1 year ago Convert a string to a valid filename
istextorbinary 148 3 months ago Check if a file is text or binary
fs-jetpack 778 12 months ago Completely redesigned file system API for convenience in everyday use
fs-extra 9,486 11 months ago Extra methods for the module
pkg-dir 237 about 1 year ago Find the root directory of an npm package
filehound 222 over 2 years ago Flexible and fluent interface for searching the file system
move-file 198 about 1 year ago Move a file, even works across devices
tempy 425 over 1 year ago Get a random temporary file or directory path

Packages / Control flow / Promises

pify 1,505 over 2 years ago Promisify a callback-style function
delay 609 over 1 year ago Delay a promise a specified amount of time
promise-memoize 61 about 6 years ago Memoize promise-returning functions, with expire and prefetch
valvelet 38 about 1 year ago Limit the execution rate of a promise-returning function
p-map 1,376 about 1 month ago Map over promises concurrently
More… 4,807 9 months ago

Packages / Control flow / Observables

RxJS 30,862 7 months ago Reactive programming
observable-to-promise 47 about 1 year ago Convert an Observable to a Promise
More… 339 over 3 years ago

Packages / Control flow / Streams

Highland.js 3,425 over 4 years ago Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams

Packages / Streams

get-stream 342 3 months ago Get a stream as a string or buffer
from2 132 over 5 years ago Convenience wrapper for ReadableStream, inspired by
into-stream 207 about 1 year ago Convert a buffer/string/array/object into a stream
duplexify 191 7 months ago Turn a writeable and readable stream into a single streams2 duplex stream
pumpify 256 7 months ago Combine an array of streams into a single duplex stream
peek-stream 56 almost 2 years ago Transform stream that lets you peek the first line before deciding how to parse it
binary-split 77 about 1 year ago Newline (or any delimiter) splitter stream
byline 325 about 5 years ago Super-simple line-by-line Stream reader
first-chunk-stream 27 about 1 year ago Transform the first chunk in a stream
pad-stream 11 over 1 year ago Pad each line in a stream
multistream 288 over 3 years ago Combine multiple streams into a single stream
readable-stream 1,033 about 1 year ago Mirror of Streams2 and Streams3 implementations in core
through2-concurrent 74 over 4 years ago Transform object streams concurrently

Packages / Real-time

µWebSockets 17,520 about 1 month ago Highly scalable WebSocket server & client library
Socket.io 61,369 about 2 months ago Enables real-time bidirectional event-based communication
Faye 4,393 7 months ago Real-time client-server message bus, based on Bayeux protocol
SocketCluster 6,148 2 months ago Scalable HTTP + WebSocket engine which can run on multiple CPU cores
Primus 4,470 about 1 year ago An abstraction layer for real-time frameworks to prevent module lock-in
deepstream.io 295 11 months ago Scalable real-time microservice framework
Kalm 210 about 1 year ago Low-level socket router and middleware framework
MQTT.js 8,635 about 1 month ago Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP
rpc-websockets 595 4 months ago JSON-RPC 2.0 implementation over WebSockets
Aedes 1,806 3 months ago Barebone MQTT server that can run on any stream server

Packages / Image

sharp 29,459 about 1 month ago The fastest module for resizing JPEG, PNG, WebP and TIFF images
image-type 373 7 months ago Detect the type of an image
image-dimensions 436 7 months ago Get the dimensions of an image
gm 6,964 about 1 year ago GraphicsMagick and ImageMagick wrapper
lwip 2,364 over 2 years ago Lightweight image processor which does not require ImageMagick
pica 3,808 over 1 year ago High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed
jimp 14,096 4 months ago Image processing in pure JavaScript
qrcode 7,597 5 months ago QR code and bar code generator
ImageScript 637 10 months ago Image processing in JavaScript, utilizing WebAssembly for performance

Packages / Text

iconv-lite 3,090 about 1 year ago Convert character encodings
string-length 163 7 months ago Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
camelcase 684 over 1 year ago Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
escape-string-regexp 584 7 months ago Escape RegExp special characters
splice-string 23 almost 4 years ago Remove or replace part of a string like
indent-string 112 over 2 years ago Indent each line in a string
strip-indent 136 over 3 years ago Strip leading whitespace from every line in a string
detect-indent 196 over 1 year ago Detect the indentation of code
he 3,464 about 3 years ago HTML entity encoder/decoder
i18n-node 3,090 7 months ago Simple translation module with dynamic JSON storage
babelfish 255 over 1 year ago i18n with very easy syntax for plurals
matcher 539 over 3 years ago Simple wildcard matching
unhomoglyph 41 over 4 years ago Normalize visually similar unicode characters
i18next 7,831 about 1 month ago Internationalization framework
nanoid 24,781 about 1 month ago Tiny, secure, URL-friendly, unique string ID generator
StegCloak 3,329 4 months ago Conceal secrets within strings, in plain sight

Packages / Number

random-int 87 almost 4 years ago Generate a random integer
random-float 36 over 3 years ago Generate a random float
unique-random 116 9 months ago Generate random numbers that are consecutively unique
round-to 155 over 1 year ago Round a number to a specific number of decimal places: →

Packages / Math

ndarray 1,210 almost 3 years ago Multidimensional arrays
mathjs 14,503 about 1 month ago An extensive math library
math-clamp 14 12 months ago Clamp a number
algebra 107 4 months ago Algebraic structures
multimath 71 over 3 years ago Core to create fast image math in WebAssembly and JS

Packages / Date

Luxon 15,522 4 months ago Library for working with dates and times
date-fns 35,034 4 months ago Modern date utility
Day.js 47,165 about 2 months ago Immutable date library alternative to Moment.js
dateformat 1,294 almost 2 years ago Date formatting
tz-format 10 over 8 years ago Format a date with timezone:
cctz 59 about 7 years ago Fast parsing, formatting, and timezone conversation for dates

Packages / URL

normalize-url 842 10 months ago Normalize a URL
humanize-url 250 over 2 years ago Humanize a URL: → sindresorhus.com
url-unshort 117 over 1 year ago Expand shortened URLs
speakingurl 1,116 10 months ago Generate a slug from a string with transliteration
linkify-it 670 about 1 year ago Link patterns detector with full unicode support
url-pattern 584 over 4 years ago Easier than regex string matching patterns for URLs and other strings
embedza 64 over 1 year ago Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags

Packages / Data validation

joi 20,981 5 months ago Object schema description language and validator for JavaScript objects
is-my-json-valid 965 over 2 years ago JSON Schema validator that uses code generation to be extremely fast
property-validator 158 about 5 years ago Easy property validation for Express
schema-inspector 506 about 2 months ago JSON API sanitization and validation
ajv 13,907 about 1 month ago The fastest JSON Schema validator. Supports v5, v6 and v7 proposals
Superstruct 7,043 4 months ago Simple and composable way to validate data in JavaScript (and TypeScript)
yup 22,998 about 1 month ago Object schema validation
zod 34,550 about 1 month ago TypeScript-first schema validation with static type inference

Packages / Parsing

remark 7,778 about 1 month ago Markdown processor powered by plugins
markdown-it 18,476 6 months ago Markdown parser with 100% CommonMark support, extensions and syntax plugins
parse5 3,687 about 1 month ago Fast full-featured spec compliant HTML parser
@parcel/css 6,608 about 2 months ago A CSS parser, transformer, and minifier written in Rust
strip-json-comments 600 over 1 year ago Strip comments from JSON
strip-css-comments 121 over 1 year ago Strip comments from CSS
parse-json 348 10 months ago Parse JSON with more helpful errors
URI.js 6,259 over 1 year ago URL mutation
JSONStream 1,918 over 6 years ago Streaming JSON.parse and stringify
neat-csv 321 over 1 year ago Fast CSV parser. Callback interface for the above
csv-parser 1,424 12 months ago Streaming CSV parser that aims to be faster than everyone else
PEG.js 4,839 about 3 years ago Simple parser generator that produces fast parsers with excellent error reporting
x-ray 5,883 about 1 month ago Web scraping utility
nearley 3,638 2 months ago Simple, fast, powerful parsing for JavaScript
binary-extract 154 almost 7 years ago Extract a value from a buffer of JSON without parsing the whole thing
Stylecow 163 almost 5 years ago Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins
js-yaml 6,326 8 months ago Very fast YAML parser
xml2js 4,910 over 1 year ago XML to JavaScript object converter
Jison 4,364 over 2 years ago Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family
google-libphonenumber 1,409 about 1 month ago Parse, format, store and validate phone numbers
ref 458 over 1 year ago Read/write structured binary data in Buffers
xlsx-populate 960 10 months ago Read/write Excel XLSX
Chevrotain 2,511 about 1 month ago Very fast and feature rich parser building toolkit for JavaScript
fast-xml-parser 2,606 about 1 month ago Validate and parse XML

Packages / Humanize

pretty-bytes 1,122 over 1 year ago Convert bytes to a human readable string: →
pretty-ms 1,125 2 months ago Convert milliseconds to a human readable string: →
ms 5,178 5 months ago Tiny millisecond conversion utility
pretty-error 1,522 7 months ago Errors with less clutter
read-art 343 over 6 years ago Extract readable content from any page

Packages / Compression

yazl 342 about 2 months ago Zip
yauzl 742 about 1 month ago Unzip
Archiver 2,833 3 months ago Streaming interface for archive generation, supporting ZIP and TAR
pako 5,631 7 months ago High speed zlib port to pure js (deflate, inflate, gzip)
tar-stream 416 7 months ago Streaming tar parser and generator. Also see

Packages / Network

get-port 881 10 months ago Get an available port
ipify 274 about 3 years ago Get your public IP address
getmac 358 3 months ago Get the computer MAC address
DHCP 303 10 months ago DHCP client and server
netcat 419 almost 3 years ago Netcat port in pure JS

Packages / Database / Drivers

PostgreSQL 12,393 about 1 month ago PostgreSQL client. Pure JavaScript and native libpq bindings
Redis 14,483 5 months ago Redis client
LevelUP 4,085 about 2 months ago LevelDB
MySQL 18,323 7 months ago MySQL client
couchdb-nano 657 about 2 months ago CouchDB client
Aerospike 202 about 1 month ago Aerospike client
Couchbase 462 about 1 month ago Couchbase client
MongoDB 10,055 about 1 month ago MongoDB driver

Packages / Database / ODM / ORM

Sequelize 29,662 about 1 month ago Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more
Bookshelf 6,358 5 months ago ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js
Mongoose 27,026 about 1 month ago Elegant MongoDB object modeling
Waterline 5,409 about 2 years ago Datastore-agnostic tool that dramatically simplifies interaction with one or more databases
OpenRecord 486 over 3 years ago ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord
pg-promise 3,477 2 months ago PostgreSQL framework for native SQL using promises
slonik 4,608 about 1 month ago PostgreSQL client with strict types, detailed logging and assertions
Objection.js 7,284 about 1 month ago Lightweight ORM built on the SQL query builder Knex
TypeORM 34,639 about 1 month ago ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more
MikroORM 7,890 about 1 month ago TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite
Prisma 40,117 about 1 month ago Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite
Drizzle ORM 25,140 about 1 month ago TypeScript ORM that supports various databases such as PostgreSQL

Packages / Database / Query builder

Knex 19,456 5 months ago Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use

Packages / Database / Other

NeDB 13,516 almost 2 years ago Embedded persistent database written in JavaScript
Lowdb 21,620 7 months ago Small JavaScript database powered by Lodash
Keyv 2,667 about 1 month ago Simple key-value storage with support for multiple backends
Finale 188 9 months ago RESTful endpoint generator for your Sequelize models
database-js 75 7 months ago Wrapper for multiple databases with a JDBC-like connection
Mongo Seeding 555 3 months ago Populate MongoDB databases with JavaScript and JSON files
@databases 610 2 months ago Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection
pg-mem 2,035 about 2 months ago In-memory PostgreSQL instance for your tests

Packages / Testing

AVA 20,747 3 months ago Futuristic test runner
Mocha 22,648 about 1 month ago Feature-rich test framework making asynchronous testing simple and fun
nyc 5,622 about 1 month ago Code coverage tool built on istanbul that works with subprocesses
tap 2,364 5 months ago TAP test framework
tape 5,771 about 1 month ago TAP-producing test harness
power-assert 2,808 about 2 years ago Provides descriptive assertion messages through the standard assert interface
Mochify 346 about 1 year ago TDD with Browserify, Mocha, PhantomJS and WebDriver
trevor 2,112 about 5 years ago Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI
loadtest 2,588 about 1 month ago Run load tests for your web application, with an API for automation
Sinon.JS 9,677 3 months ago Test spies, stubs and mocks
navit 48 about 3 years ago PhantomJS / SlimerJS wrapper to simplify browser test scripting
Nock 12,772 about 1 month ago HTTP mocking and expectations
intern 4,364 almost 2 years ago Code testing stack
toxy 2,729 almost 3 years ago Hackable HTTP proxy to simulate failure scenarios and network conditions
hook-std 54 over 2 years ago Hook and modify stdout/stderr
testen 175 about 3 years ago Run tests for multiple versions of Node.js locally with NVM
Nightwatch 11,855 about 1 month ago Automated UI testing framework based on Selenium WebDriver
WebdriverIO 9,115 about 1 month ago Automated testing based on the WebDriver protocol
Jest 44,353 about 1 month ago Painless JavaScript testing
TestCafe 9,826 about 1 month ago Automated browser testing
abstruse 940 12 months ago Continuous Integration server
CodeceptJS 4,116 about 1 month ago End-to-end testing
Puppeteer 89,083 about 1 month ago Headless Chrome
Playwright 67,755 about 1 month ago Headless Chromium, WebKit, and Firefox with a single API
nve 694 about 2 months ago Run any command on multiple versions of Node.js locally
axe-core 6,059 about 1 month ago Accessibility engine for automated Web UI testing
testcontainers-node 1,970 about 1 month ago Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container

Packages / Security

upash 540 over 3 years ago Unified API for all password hashing algorithms
themis 1,879 4 months ago Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on
GuardRails GitHub app that provides security feedback in pull requests
rate-limiter-flexible 3,093 3 months ago Brute-force and DDoS attack protection
crypto-hash 639 6 months ago Async non-blocking hashing
jose-simple 64 9 months ago Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard

Packages / Benchmarking

Benchmark.js 5,483 about 2 years ago Benchmarking library that supports high-resolution timers and returns statistically significant results

Packages / Minifiers

babel-minify 4,395 8 months ago ES2015+ aware minifier based on the Babel toolchain
UglifyJS2 13,199 about 2 months ago JavaScript minifier
clean-css 4,174 3 months ago CSS minifier
minimize 162 over 4 years ago HTML minifier
imagemin 5,591 4 months ago Image minifier

Packages / Authentication

Passport 23,052 5 months ago Simple, unobtrusive authentication
Grant 4,106 4 months ago OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more

Packages / Authorization

CASL 6,103 about 1 month ago Isomorphic authorization for UI and API
node-casbin 2,642 about 2 months ago Authorization library that supports access control models like ACL, RBAC and ABAC

Packages / Email

Nodemailer 16,782 3 months ago The fastest way to handle email
emailjs 2,190 over 1 year ago Send text/HTML emails with attachments to any SMTP server
email-templates 3,678 5 months ago Create, preview, and send custom email templates
MJML 17,155 about 2 months ago Markup language designed to reduce the pain of creating responsive emails

Packages / Job queues

bull 15,622 about 1 month ago Persistent job and message queue
agenda 9,419 4 months ago MongoDB-backed job scheduling
idoit 77 over 1 year ago Redis-backed job queue engine with advanced job control
node-resque 1,379 about 1 month ago Redis-backed job queue
rsmq 1,765 over 3 years ago Redis-backed message queue
bee-queue 3,855 about 1 month ago High-performance Redis-backed job queue
RedisSMQ 599 6 months ago Simple high-performance Redis message queue with real-time monitoring
sqs-consumer 1,761 about 1 month ago Build Amazon Simple Queue Service (SQS) based apps without the boilerplate
better-queue 518 7 months ago Simple and efficient job queue when you cannot use Redis
bullmq 6,309 about 1 month ago Persistent job and message queue
bree 3,080 5 months ago Job task scheduler with worker threads, cron, date, and human syntax support

Packages / Node.js management

n 18,946 2 months ago Node.js version management
nave 1,606 about 1 year ago Virtual Environments for Node.js
nodeenv 1,710 5 months ago Node.js virtual environment compatible to Python's virtualenv
nvm for Windows 38,525 2 months ago Version management for Windows
nodenv 2,253 about 1 month ago Version manager that is similar to Ruby's rbenv. It supports auto version switching
fnm 18,676 about 1 month ago Cross-platform Node.js version manager built in Rust

Packages / Cross-platform integration

napi-rs 6,231 about 1 month ago Framework for building compiled Node.js add-ons in Rust via Node-API
Neon 8,100 about 2 months ago Rust bindings for writing safe and fast native Node.js modules
Edge.js 723 about 1 month ago Run .NET and Node.js code in the same process on Windows, macOS, and Linux
DotNetJS 673 about 1 month ago Consume .NET libraries in Node.js using this .NET interoperability layer

Packages / Natural language processing

retext 2,363 3 months ago An extensible natural language system
franc 4,158 7 months ago Detect the language of text
leven 718 over 3 years ago Measure the difference between two strings using the Levenshtein distance algorithm
natural 10,670 5 months ago Natural language facility
nlp.js 6,301 about 1 month ago Building bots, with entity extraction, sentiment analysis, automatic language identify, and more

Packages / Process management

PM2 41,672 2 months ago Advanced Process Manager
nodemon 26,366 about 1 month ago Monitor for changes in your app and automatically restart the server
node-mac 539 8 months ago Run scripts as a native Mac daemon and log to the console app
node-linux 419 almost 3 years ago Run scripts as native system service and log to syslog
node-windows 2,835 4 months ago Run scripts as a native Windows service and log to the Event viewer
supervisor 3,756 over 5 years ago Restart scripts when they crash or restart when a file changes
Phusion Passenger 5,007 about 1 month ago Friendly process manager that integrates directly into Nginx

Packages / Automation

robotjs 12,418 7 months ago Desktop Automation: control the mouse, keyboard and read the screen
nut.js 2,312 9 months ago Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest

Packages / AST

Acorn 10,671 about 1 month ago Tiny, fast JavaScript parser
babel-parser 43,304 about 1 month ago JavaScript parser used in Babel

Packages / Static site generators

DocPad 3,058 11 months ago Static site generator with dynamic abilities and huge plugin ecosystem
docsify 28,044 about 1 month ago Markdown documentation site generator with no statically built HTML files
Charge 427 6 months ago Opinionated, zero-config static site generator using JSX and MDX

Packages / Content management systems

KeystoneJS 9,321 about 1 month ago CMS and web application platform built on Express and MongoDB
ApostropheCMS 4,372 about 1 month ago Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB
Strapi 64,232 about 1 month ago Content Management Framework (headless-CMS) to build powerful APIs
Factor 1,422 about 1 month ago Vue.js dashboard framework and headless CMS
AdminBro 8,301 4 months ago Auto-generated admin panel with CRUD for all your resources
Graphweaver 494 about 1 month ago CMS and headless GraphQL API

Packages / Forum

nodeBB 14,274 about 1 month ago Forum platform for the modern web

Packages / Blogging

Ghost 47,732 about 1 month ago Simple, powerful publishing platform
Hexo 39,690 about 1 month ago Fast, simple and powerful blogging framework

Packages / Weird

cows 419 6 months ago ASCII cows
superb 393 9 months ago Get superb like words
cat-names 272 9 months ago Get popular cat names
dog-names 124 9 months ago Get popular dog names
superheroes 234 9 months ago Get superhero names
supervillains 118 9 months ago Get supervillain names
cool-ascii-faces 1,775 over 7 years ago Get some cool ascii faces
cat-ascii-faces 255 over 9 years ago
nerds 109 7 months ago Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon

Packages / Serialization

snappy 481 over 3 years ago Native bindings for Google's Snappy compression library
protobuf 9,978 3 months ago Implementation of Protocol Buffers
compactr 102 over 4 years ago Implementation of the Compactr protocol

Packages / Miscellaneous

execa 6,912 about 1 month ago Better
cheerio 28,793 about 1 month ago Fast, flexible, and lean implementation of core jQuery designed specifically for the server
open 3,210 9 months ago Opens stuff like websites, files, executables
hasha 959 about 1 year ago Hashing made simple. Get the hash of a buffer/string/stream/file
dot-prop 822 8 months ago Get a property from a nested object using a dot path
onetime 162 about 1 year ago Only run a function once
mem 1,091 5 months ago Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input
strip-bom 111 almost 4 years ago Strip UTF-8 byte order mark (BOM) from a string/buffer/stream
os-locale 225 about 3 years ago Get the system locale
ssh2 5,550 4 months ago SSH2 client and server module
adit 55 almost 8 years ago SSH tunneling made simple
file-type 3,748 about 1 month ago Detect the file type of a Buffer
Bottleneck 1,838 12 months ago Rate limiter that makes throttling easy
webworker-threads 2,296 over 3 years ago Lightweight Web Worker API implementation with native threads
clipboardy 1,801 about 1 year ago Access the system clipboard (copy/paste)
node-pre-gyp 1,121 about 1 month ago Makes it easy to publish and install Node.js C++ addons from binaries
opencv 4,380 6 months ago Bindings for OpenCV. The defacto computer vision library
dotenv 19,314 about 1 month ago Load environment variables from .env file
semver 5,133 about 1 month ago Semantic version parser
nodegit 5,664 5 months ago Native bindings to Git
json-strictify 19 about 1 month ago Safely serialize a value to JSON without data loss or going into an infinite loop
jsdom 20,630 4 months ago JavaScript implementation of HTML and the DOM
@sindresorhus/is 1,687 4 months ago Type check values
env-dot-prop 33 over 3 years ago Get, set, or delete nested properties of process.env using a dot path
node-video-lib 359 7 months ago Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming
basic-ftp 679 6 months ago FTP/FTPS client
cashify 404 about 1 year ago Currency conversion
genepi 81 over 1 year ago Automatically generate a native Node.js addon from C++ code
husky 32,791 about 2 months ago Create Git hook scripts
patch-package 10,528 about 1 month ago Make and preserve fixes to npm dependencies
editly 4,805 6 months ago Declarative video editing API
wild-wild-path 722 about 2 months ago Object property paths with wildcards and regexes
uint8array-extras 216 6 months ago Useful utilities for working with Uint8Array and Buffer

Package Manager

npm The default package manager
pnpm Disk space efficient package manager
yarn Alternative package manager
bun All-in-one toolkit for JavaScript and TypeScript apps

Resources / Tutorials

Node.js Best Practices 101,014 7 months ago Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages
Nodeschool Learn Node.js with interactive lessons
The Art of Node 9,821 over 4 years ago An introduction to Node.js
module-best-practices 1,543 almost 7 years ago Some good practices when writing new npm modules
The Node Way 1,494 almost 9 years ago An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read
You Don't Know Node.js 1,538 about 6 years ago Introduction to Node.js core features and asynchronous JavaScript
Portable Node.js guide 1,401 about 2 months ago Practical guide on how to write portable/cross-platform Node.js code
Build a real web app with no frameworks A set of video tutorials/livestreams to help you build and deploy a real, live web app using a handful of simple libraries and the core Node.js modules

Resources / Discovery

npms Superb package search with deep analysis of package quality using a
npm addict Your daily injection of npm packages
npm-compare.com Compare and discover npm packages

Resources / Articles

Error Handling in Node.js
Teach Yourself Node.js in 10 Steps
Mastering the filesystem in Node.js
Semver: A Primer
Semver: Tilde and Caret
Why Asynchronous?
Understanding the Node.js Event Loop
Understanding Object Streams
Using Express to Quickly Build a GraphQL Server

Resources / Newsletters

Node Weekly Weekly e-mail round-up of Node.js news and articles

Resources / Videos

Introduction to Node.js with Ryan Dahl
Hands on with Node.js
V8 Garbage Collector Trash talk about the V8 garbage collector
10 Things I Regret About Node.js by Ryan Dahl Insightful talk by the creator of Node.js about some of its limitions
Mastering REST APIs in Node.js: Zero-To-Hero Video course on how to make REST APIs using Node.js
Make a vanilla Node.js REST API Building a REST API without using a framework like Express
Google I/O 2009 - V8: High Performance JavaScript Engine The basics of V8 architecture and how it optimizes JavaScript execution
Google I/O 2012 - Breaking the JavaScript Speed Limit with V8 How V8 optimizes JavaScript execution
Google I/O 2013 - Accelerating Oz with V8: Follow the Yellow Brick Road to JavaScript Performance How to detect app bottlenecks and optimize performance with V8 knowledge
Node.js Internal Architecture | Ignition, Turbofan, Libuv How Node.js works internally, with a focus on V8 and libuv
Introduction to libuv: What's a Unicorn Velociraptor? architecture, thread pool, and event loop, with its source code
libuv Cross platform asynchronous i/o architecture in detail, such as where it's actually using threads
You Don't Know Node - ForwardJS San Francisco Explaining Node.js internals with quizzes about V8, libuv, event loop, module, stream, and cluster

Resources / Books

Node.js in Action
Node.js in Practice
Mastering Node
Node.js 8 the Right Way
Professional Node.js: Building JavaScript Based Scalable Software
Secure Your Node.js Web Application
Express in Action
Practical Modern JavaScript
Mastering Modular JavaScript
Get Programming with Node.js
Node.js Cookbook
Node.js Design Patterns

Resources / Blogs

Node.js blog
webapplog.com Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan

Resources / Courses

Learn to build apps and APIs with Node.js Video course by Wes Bos
Real Time Web with Node.js
Learn and Understand Node.js
Node.js Full Stack Developer Course

Resources / Cheatsheets

Express.js 1,348 about 1 year ago
Stream FAQs 196 over 9 years ago Answering common questions about streams, covering pagination, events, and more
Strong Node.js 502 9 months ago Checklist for source code security analysis of a Node.js web service

Resources / Tools

OctoLinker Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub
npm-hub Chrome extension to display npm dependencies at the bottom of a repo's readme
RunKit Embed a Node.js environment on any website
github-npm-stats Chrome extension that displays npm download stats on GitHub
npm semver calculator Visually explore what versions of a package a semver range matches
CodeSandbox Online IDE and prototyping
Amplication 15,406 about 1 month ago Auto-generates fully functional apps
RunJS Desktop JavaScript playground

Resources / Community

Stack Overflow
Reddit
Twitter
Hashnode
Discord

Resources / Miscellaneous

nodebots Robots powered by JavaScript
node-module-boilerplate 738 5 months ago Boilerplate to kickstart creating a node module
modern-node 246 about 2 years ago Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
generator-nm 742 9 months ago Scaffold out a node module
Microsoft Node.js Guidelines 2,498 almost 2 years ago Tips, tricks, and resources for working with Node.js on Microsoft platforms
Module Requests & Ideas 544 almost 4 years ago Request a JavaScript module you wish existed or get ideas for modules
v8-perf 2,236 about 2 years ago Notes and resources related to V8 and thus Node.js performance
awesome-npm 4,513 3 months ago Resources and tips for using npm
awesome-cross-platform-nodejs 1,154 almost 2 years ago Resources for writing and testing cross-platform code

Backlinks from these awesome lists:

More related projects: