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: 30 days ago
Linked from 17 awesome lists

awesomeawesome-listjavascriptlistnodenodejs

Official

Website
Documentation
Repository 107,829 3 days ago

Packages / Mad science

webtorrent 29,663 7 days ago Streaming torrent client for Node.js and the browser
peerflix 6,191 over 2 years ago Streaming torrent client
ipfs 955 7 days 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 515 over 6 years ago Stream a torrent video to Chromecast
BitcoinJS 5,701 about 2 months ago Clean, readable, proven Bitcoin library
Bitcore 4,870 6 days ago Pure and powerful Bitcoin library
PDFKit 9,913 15 days ago PDF generation library
turf 9,367 7 days ago Modular geospatial processing and analysis engine
webcat 445 over 4 years ago p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication
NodeOS 6,947 over 1 year ago The first operating system powered by npm
YodaOS 1,192 almost 5 years ago AI operating system
Brain.js 14,401 about 2 months ago Machine-learning framework
Pipcook 2,543 6 days ago Front-end algorithm framework to create a machine learning pipeline
Cytoscape.js 10,123 10 days ago Graph theory (a.k.a. network) modeling and analysis
js-git 3,834 about 3 years ago JavaScript implementation of Git
xlsx 35,145 7 months ago Pure JS Excel spreadsheet reader and writer
isomorphic-git 7,505 19 days ago Pure JavaScript implementation of Git

Packages / Command-line apps

np 7,557 3 months ago Better
npm-name 168 9 months ago Check a package name's availability on npm
gh-home 191 4 months ago Open the GitHub page of the repo in the current directory
npm-home 198 4 months ago Open the npm page of a package
trash 2,577 4 months ago Safer alternative to
speed-test 3,911 almost 3 years ago Test your internet connection speed and ping
pageres 9,678 4 months ago Capture website screenshots
cpy 424 4 months ago Copy files
vtop 4,127 about 4 years ago More better top, with nice charts
empty-trash 131 about 3 years ago Empty the trash
is-up 388 about 3 years ago Check whether a website is up or down
is-online 1,240 4 months ago Check if the internet connection is up
public-ip 1,026 4 months ago Get your public IP address
clipboard-cli 495 about 1 year ago Copy & paste on the terminal
XO 7,698 about 1 month ago Enforce strict code style using the JavaScript happiness style
ESLint 25,110 6 days ago The pluggable linting utility for JavaScript
David 969 almost 2 years ago Tells you when your package npm dependencies are out of date
http-server 13,660 16 days ago Simple, zero-config command-line HTTP server
Live Server 4,441 7 months ago Development HTTP-server with livereload capability
bcat 340 about 2 years ago Pipe command output to web browsers
normit 240 over 7 years ago Google Translate with speech synthesis in your terminal
fkill 6,879 6 months ago Fabulously kill processes. Cross-platform
pjs 419 almost 2 years ago Pipeable JavaScript. Quickly filter, map, and reduce from the terminal
license-checker 1,603 10 months ago Check licenses of your app's dependencies
browser-run 447 22 days 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,051 4 months ago Change the desktop wallpaper
pen 326 about 4 years ago Live Markdown preview in the browser from your favorite editor
dark-mode 661 about 3 years ago Toggle the macOS Dark Mode
Jsome 244 12 months ago Pretty prints JSON with configurable colors and indentation
mobicon 112 almost 4 years ago Mobile app icon generator
mobisplash 71 over 7 years ago Mobile app splash screen generator
diff2html-cli 533 3 months ago Pretty git diff to HTML generator
trymodule 1,138 over 7 years ago Try out npm packages in the terminal
jscpd 4,716 3 days 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,842 over 1 year ago Find out which dependencies are slowing you down
localtunnel 19,152 8 months ago Expose your localhost to the world
svg-term-cli 3,552 7 months ago Share terminal sessions via SVG
gtop 9,724 7 months ago System monitoring dashboard for the terminal
themer 5,504 5 months ago Generate themes for your editor, terminal, wallpaper, Slack, and more
carbon-now-cli 5,799 about 1 month ago Beautiful images of your code — from right inside your terminal
cash-cli 234 over 1 year ago Convert between 170 currencies
taskbook 8,980 3 months ago Tasks, boards & notes for the command-line habitat
discharge 643 over 3 years ago Easily deploy static websites to Amazon S3
npkill 8,316 3 months ago Easily find and remove old and heavy node_modules folders

Packages / Functional programming

lodash 59,875 about 2 months ago Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js
immutable 32,954 13 days ago Immutable data collections
Ramda 23,822 3 months ago Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data
Mout 1,292 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,799 5 months ago Functional reactive library for transforming, composing, and querying various kinds of data
Kefir.js 1,874 5 months ago Reactive library with focus on high performance and low memory usage

Packages / HTTP

got 14,301 17 days ago Nicer interface to the built-in module
undici 6,243 3 days ago High performance HTTP client written from scratch with zero dependencies
ky-universal 671 about 1 year ago Universal HTTP client based on Fetch
node-fetch 8,782 3 months ago for Node.js
axios 105,804 4 days ago Promise based HTTP client (works in the browser too)
superagent 16,589 about 1 month 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 9 months ago GraphQL request library built on
global-agent 364 4 months ago Global HTTP/HTTPS proxy agent that is configurable using environment variables
smoke 189 9 days ago File-based HTTP mock server with recording abilities
purest 553 10 months ago REST client

Packages / Debugging / Profiling

debug 11,152 3 months ago Tiny debugging utility
why-is-node-running 1,869 23 days ago Node.js is running but you don't know why?
njsTrace 366 10 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 12 months ago Enhance an error stacktrace with code excerpts and other goodies
locus 306 about 3 years ago Starts a REPL at runtime that has access to all variables
0x 3,231 about 1 year 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,154 9 months ago Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process
thetool 222 almost 2 years ago Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format
swagger-stats 903 7 months ago Trace API calls and monitor API performance, health, and usage metrics
NiM 198 about 1 month ago Manages DevTools debugging workflow
dats 102 5 months ago Minimalistic and zero-dependencies client

Packages / Logging

pino 14,337 3 days ago Extremely fast logger inspired by Bunyan
winston 22,910 10 days ago Multi-transport async logging library
console-log-level 111 12 months ago The most simple logger imaginable with support for log levels and custom prefixes
storyboard 753 almost 2 years ago End-to-end, hierarchical, real-time, colorful logs and stories
consola 6,118 3 days ago Console logger

Packages / Command-line utilities

chalk 21,968 3 months ago Terminal string styling done right
meow 3,545 8 months ago CLI app helper
yargs 11,104 about 2 months ago Command-line parser that automatically generates an elegant user-interface
ora 9,162 20 days ago Elegant terminal spinner
get-stdin 337 about 1 year ago Easier stdin
log-update 1,097 4 months ago Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc
Ink 27,195 6 days ago React for interactive command-line apps
listr2 524 6 days ago Terminal task list
conf 1,234 3 months ago Simple config handling for your app or module
ansi-escapes 496 7 months ago ANSI escape codes for manipulating the terminal
log-symbols 744 3 months ago Colored symbols for various log levels
figures 594 24 days ago Unicode symbols with Windows CMD fallbacks
boxen 1,540 4 months ago Create boxes in the terminal
terminal-link 619 almost 2 years ago Create clickable links in the terminal
terminal-image 979 4 months ago Display images in the terminal
string-width 479 5 months ago Get the visual width of a string - the number of columns required to display it
cli-truncate 85 about 1 year ago Truncate a string to a specific width in the terminal
blessed 11,327 8 months ago Curses-like library
Inquirer.js 20,291 3 days ago Interactive command-line prompt
yn 266 over 2 years ago Parse yes/no like values
cli-table3 538 5 months ago Pretty unicode tables
drawille 1,009 about 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,975 almost 2 years ago Flexible ascii progress bar
insight 557 almost 2 years ago Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
cli-cursor 103 4 months ago Toggle the CLI cursor
cli-columns 34 about 3 years ago Columnated unicode and ansi-safe text lists
cfonts 1,602 5 months ago Sexy ASCII fonts for the console
multispinner 295 over 4 years ago Multiple, simultaneous, individually controllable CLI spinners
omelette 1,391 almost 3 years ago Shell autocompletion helper
cross-env 6,335 almost 4 years ago Set environment variables cross-platform
shelljs 14,267 3 months ago Portable Unix shell commands
sudo-block 98 about 1 year ago Block users from running your app with root permissions
sparkly 424 about 3 years ago Generate sparklines
Bit 17,893 5 days ago Create, maintain, find and use small modules and components across repositories
gradient-string 1,092 about 1 month ago Beautiful color gradients in terminal output
oclif 9,027 3 days ago CLI framework complete with parser, automatic documentation, testing, and plugins
terminal-size 140 about 1 year ago Reliably get the terminal window size
Cliffy 359 5 months ago Framework for interactive CLIs
zx 43,128 6 days ago Write shell scripts JavaScript

Packages / Build tools

parcel 43,502 9 days ago Blazing fast, zero config web app bundler
webpack 64,791 6 days ago Packs modules and assets for the browser
rollup 25,379 5 days ago Next-generation ES2015 module bundler
gulp 33,011 6 months ago Streaming and fast build system that favors code over config
Broccoli 3,325 7 months ago Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions
Brunch 6,799 almost 2 years ago Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow
FuseBox 4,002 almost 2 years ago Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support
pkg 24,326 11 months ago Package your Node.js project into an executable
Vite 68,580 6 days ago Front-end build tool with hot module replacement and static asset bundling

Packages / Hardware

johnny-five 13,304 about 1 year ago Firmata based Arduino Framework
serialport 5,822 3 days ago Access serial ports for reading and writing
usb 1,568 3 days ago USB library
i2c-bus 348 8 months ago I2C serial bus access
onoff 1,240 5 months ago GPIO access and interrupt detection
spi-device 118 about 3 years ago SPI serial bus access
pigpio 948 almost 2 years ago Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi
gps 255 about 1 month ago NMEA parser for handling GPS receivers
modbus-serial 640 3 months ago A pure JavaScript implementation of MODBUS-RTU (serial and TCP)

Packages / Templating

marko 13,406 5 days ago HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags
nunjucks 8,587 5 months ago Templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
handlebars.js 18,023 3 months ago Superset of Mustache templates which adds powerful features like helpers and more advanced blocks
EJS 7,773 4 months ago Simple unopinionated templating language
Pug 21,691 4 months ago High-performance template engine heavily influenced by Haml

Packages / Web frameworks

Fastify 32,408 4 days ago Fast and low overhead web framework
Next.js 127,022 5 days ago Minimalistic framework for server-rendered universal JavaScript web apps
Nuxt.js 54,964 3 days ago Minimalistic framework for server-rendered Vue.js apps
Hapi 14,633 27 days ago Framework for building applications and services
Micro 10,585 5 months ago Minimalistic microservice framework with an async approach
Koa 35,226 17 days 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,700 6 days ago Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications
Feathers 15,076 20 days ago Microservice framework built in the spirit of Express
LoopBack 4,963 4 days ago Powerful framework for creating REST APIs and easily connecting to backend data sources
Meteor 44,421 6 days ago An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework
Restify 10,715 2 months ago Enables you to build correct REST web services
ThinkJS 5,309 over 1 year ago Framework with ES2015+ support, WebSockets, REST API
ActionHero 2,401 10 days ago Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients
seneca 3,960 2 months ago Toolkit for writing microservices
AdonisJs 16,964 about 1 month ago A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container
Moleculer 6,163 6 days ago Fast & powerful microservices framework
Nest 67,804 3 days ago Angular-inspired framework for building efficient and scalable server-side apps
TypeGraphQL 8,039 7 days ago Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators
Tinyhttp 2,733 about 1 month ago Modern and fast Express-like web framework
Marble.js 2,148 9 months ago Functional reactive framework for building server-side apps, based on TypeScript and RxJS
Lad 2,282 12 days ago Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers
Ts.ED 2,859 4 days ago Intuitive TypeScript framework for building server-side apps on top of Express.js or Koa.js
Hono 20,344 6 days ago Small and fast web framework

Packages / Documentation

documentation.js 5,793 7 months ago API documentation generator with support for ES2015+ and flow annotation
Docco 3,554 5 months ago Documentation generator which produces an HTML document that displays your comments intermingled with your code
JSDoc 15,053 5 days ago API documentation generator similar to JavaDoc or PHPDoc
Docusaurus 56,742 5 days ago Documentation website generator that leverages React and Markdown, and comes with translation and versioning features

Packages / Filesystem

del 1,325 about 2 months ago Delete files/folders using globs
globby 2,536 5 months ago Glob files with support for multiple patterns
chokidar 11,025 19 days ago Filesystem watcher which stabilizes events from and as well as using native on macOS
find-up 582 5 months ago Find a file by walking up parent directories
proper-lockfile 240 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 214 4 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 about 1 month ago Check if a file is text or binary
fs-jetpack 777 10 months ago Completely redesigned file system API for convenience in everyday use
fs-extra 9,471 9 months ago Extra methods for the module
pkg-dir 235 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 424 over 1 year ago Get a random temporary file or directory path

Packages / Control flow / Promises

pify 1,507 about 2 years ago Promisify a callback-style function
delay 609 over 1 year ago Delay a promise a specified amount of time
promise-memoize 60 almost 6 years ago Memoize promise-returning functions, with expire and prefetch
valvelet 38 12 months ago Limit the execution rate of a promise-returning function
p-map 1,292 3 months ago Map over promises concurrently
More… 4,782 7 months ago

Packages / Control flow / Observables

RxJS 30,799 5 months ago Reactive programming
observable-to-promise 47 about 1 year ago Convert an Observable to a Promise
More… 337 about 3 years ago

Packages / Control flow / Streams

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

Packages / Streams

get-stream 341 24 days ago Get a stream as a string or buffer
from2 132 over 5 years ago Convenience wrapper for ReadableStream, inspired by
into-stream 207 12 months ago Convert a buffer/string/array/object into a stream
duplexify 191 5 months ago Turn a writeable and readable stream into a single streams2 duplex stream
pumpify 256 5 months ago Combine an array of streams into a single duplex stream
peek-stream 56 over 1 year ago Transform stream that lets you peek the first line before deciding how to parse it
binary-split 77 12 months 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 about 1 year ago Pad each line in a stream
multistream 288 about 3 years ago Combine multiple streams into a single stream
readable-stream 1,032 11 months 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,416 6 days ago Highly scalable WebSocket server & client library
Socket.io 61,208 27 days ago Enables real-time bidirectional event-based communication
Faye 4,391 5 months ago Real-time client-server message bus, based on Bayeux protocol
SocketCluster 6,148 17 days ago Scalable HTTP + WebSocket engine which can run on multiple CPU cores
Primus 4,471 about 1 year ago An abstraction layer for real-time frameworks to prevent module lock-in
deepstream.io 295 9 months ago Scalable real-time microservice framework
Kalm 210 12 months ago Low-level socket router and middleware framework
MQTT.js 8,602 8 days ago Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP
rpc-websockets 592 about 2 months ago JSON-RPC 2.0 implementation over WebSockets
Aedes 1,798 29 days ago Barebone MQTT server that can run on any stream server

Packages / Image

sharp 29,275 17 days ago The fastest module for resizing JPEG, PNG, WebP and TIFF images
image-type 373 5 months ago Detect the type of an image
image-dimensions 431 5 months ago Get the dimensions of an image
gm 6,956 11 months ago GraphicsMagick and ImageMagick wrapper
lwip 2,365 over 2 years ago Lightweight image processor which does not require ImageMagick
pica 3,783 over 1 year ago High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed
jimp 14,044 about 2 months ago Image processing in pure JavaScript
qrcode 7,535 3 months ago QR code and bar code generator
ImageScript 633 8 months ago Image processing in JavaScript, utilizing WebAssembly for performance

Packages / Text

iconv-lite 3,075 12 months ago Convert character encodings
string-length 162 5 months ago Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
camelcase 683 about 1 year ago Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
escape-string-regexp 582 5 months ago Escape RegExp special characters
splice-string 23 over 3 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 135 about 3 years ago Strip leading whitespace from every line in a string
detect-indent 196 about 1 year ago Detect the indentation of code
he 3,452 almost 3 years ago HTML entity encoder/decoder
i18n-node 3,088 5 months ago Simple translation module with dynamic JSON storage
babelfish 255 over 1 year ago i18n with very easy syntax for plurals
matcher 537 about 3 years ago Simple wildcard matching
unhomoglyph 40 over 4 years ago Normalize visually similar unicode characters
i18next 7,781 8 days ago Internationalization framework
nanoid 24,655 24 days ago Tiny, secure, URL-friendly, unique string ID generator
StegCloak 3,313 about 2 months ago Conceal secrets within strings, in plain sight

Packages / Number

random-int 87 over 3 years ago Generate a random integer
random-float 36 over 3 years ago Generate a random float
unique-random 116 8 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,212 almost 3 years ago Multidimensional arrays
mathjs 14,416 7 days ago An extensive math library
math-clamp 14 10 months ago Clamp a number
algebra 106 2 months ago Algebraic structures
multimath 71 over 3 years ago Core to create fast image math in WebAssembly and JS

Packages / Date

Luxon 15,430 about 2 months ago Library for working with dates and times
date-fns 34,872 about 2 months ago Modern date utility
Day.js 47,000 10 days ago Immutable date library alternative to Moment.js
dateformat 1,296 over 1 year ago Date formatting
tz-format 10 about 8 years ago Format a date with timezone:
cctz 59 almost 7 years ago Fast parsing, formatting, and timezone conversation for dates

Packages / URL

normalize-url 840 9 months ago Normalize a URL
humanize-url 250 over 2 years ago Humanize a URL: → sindresorhus.com
url-unshort 116 over 1 year ago Expand shortened URLs
speakingurl 1,116 8 months ago Generate a slug from a string with transliteration
linkify-it 669 12 months ago Link patterns detector with full unicode support
url-pattern 585 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,937 3 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 almost 5 years ago Easy property validation for Express
schema-inspector 506 8 months ago JSON API sanitization and validation
ajv 13,851 2 months ago The fastest JSON Schema validator. Supports v5, v6 and v7 proposals
Superstruct 7,024 about 2 months ago Simple and composable way to validate data in JavaScript (and TypeScript)
yup 22,905 6 days ago Object schema validation
zod 34,047 7 days ago TypeScript-first schema validation with static type inference

Packages / Parsing

remark 7,703 28 days ago Markdown processor powered by plugins
markdown-it 18,310 4 months ago Markdown parser with 100% CommonMark support, extensions and syntax plugins
parse5 3,677 6 days ago Fast full-featured spec compliant HTML parser
@parcel/css 6,494 17 days ago A CSS parser, transformer, and minifier written in Rust
strip-json-comments 599 over 1 year ago Strip comments from JSON
strip-css-comments 121 over 1 year ago Strip comments from CSS
parse-json 346 9 months ago Parse JSON with more helpful errors
URI.js 6,255 about 1 year ago URL mutation
JSONStream 1,917 about 6 years ago Streaming JSON.parse and stringify
neat-csv 320 over 1 year ago Fast CSV parser. Callback interface for the above
csv-parser 1,420 10 months ago Streaming CSV parser that aims to be faster than everyone else
PEG.js 4,829 about 3 years ago Simple parser generator that produces fast parsers with excellent error reporting
x-ray 5,878 23 days ago Web scraping utility
nearley 3,607 7 days 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 over 4 years ago Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins
js-yaml 6,305 6 months ago Very fast YAML parser
xml2js 4,901 over 1 year ago XML to JavaScript object converter
Jison 4,356 about 2 years ago Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family
google-libphonenumber 1,406 7 days ago Parse, format, store and validate phone numbers
ref 456 over 1 year ago Read/write structured binary data in Buffers
xlsx-populate 955 8 months ago Read/write Excel XLSX
Chevrotain 2,499 6 days ago Very fast and feature rich parser building toolkit for JavaScript
fast-xml-parser 2,578 7 days ago Validate and parse XML

Packages / Humanize

pretty-bytes 1,113 over 1 year ago Convert bytes to a human readable string: →
pretty-ms 1,077 6 days ago Convert milliseconds to a human readable string: →
ms 5,159 3 months ago Tiny millisecond conversion utility
pretty-error 1,520 5 months ago Errors with less clutter
read-art 343 over 6 years ago Extract readable content from any page

Packages / Compression

yazl 341 13 days ago Zip
yauzl 735 13 days ago Unzip
Archiver 2,821 22 days ago Streaming interface for archive generation, supporting ZIP and TAR
pako 5,592 5 months ago High speed zlib port to pure js (deflate, inflate, gzip)
tar-stream 413 5 months ago Streaming tar parser and generator. Also see

Packages / Network

get-port 874 8 months ago Get an available port
ipify 273 almost 3 years ago Get your public IP address
getmac 358 about 1 month ago Get the computer MAC address
DHCP 299 8 months ago DHCP client and server
netcat 419 over 2 years ago Netcat port in pure JS

Packages / Database / Drivers

PostgreSQL 12,331 20 days ago PostgreSQL client. Pure JavaScript and native libpq bindings
Redis 14,400 3 months ago Redis client
LevelUP 4,087 over 1 year ago LevelDB
MySQL 18,305 5 months ago MySQL client
couchdb-nano 653 7 days ago CouchDB client
Aerospike 202 7 days ago Aerospike client
Couchbase 461 9 days ago Couchbase client
MongoDB 10,053 6 days ago MongoDB driver

Packages / Database / ODM / ORM

Sequelize 29,584 3 days ago Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more
Bookshelf 6,361 3 months ago ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js
Mongoose 26,966 6 days ago Elegant MongoDB object modeling
Waterline 5,411 almost 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,467 11 days ago PostgreSQL framework for native SQL using promises
slonik 4,590 6 days ago PostgreSQL client with strict types, detailed logging and assertions
Objection.js 7,268 3 days ago Lightweight ORM built on the SQL query builder Knex
TypeORM 34,253 13 days ago ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more
MikroORM 7,818 5 days ago TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite
Prisma 39,737 5 days ago Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite
Drizzle ORM 24,514 5 days ago TypeScript ORM that supports various databases such as PostgreSQL

Packages / Database / Query builder

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

Packages / Database / Other

NeDB 13,504 over 1 year ago Embedded persistent database written in JavaScript
Lowdb 21,538 5 months ago Small JavaScript database powered by Lodash
Keyv 2,626 4 days ago Simple key-value storage with support for multiple backends
Finale 188 7 months ago RESTful endpoint generator for your Sequelize models
database-js 74 5 months ago Wrapper for multiple databases with a JDBC-like connection
Mongo Seeding 554 about 2 months ago Populate MongoDB databases with JavaScript and JSON files
@databases 608 11 days ago Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection
pg-mem 2,008 about 1 month ago In-memory PostgreSQL instance for your tests

Packages / Testing

AVA 20,743 25 days ago Futuristic test runner
Mocha 22,606 5 days ago Feature-rich test framework making asynchronous testing simple and fun
nyc 5,613 2 months ago Code coverage tool built on istanbul that works with subprocesses
tap 2,359 3 months ago TAP test framework
tape 5,774 2 months ago TAP-producing test harness
power-assert 2,807 almost 2 years ago Provides descriptive assertion messages through the standard assert interface
Mochify 346 11 months ago TDD with Browserify, Mocha, PhantomJS and WebDriver
trevor 2,112 almost 5 years ago Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI
loadtest 2,581 3 months ago Run load tests for your web application, with an API for automation
Sinon.JS 9,662 21 days ago Test spies, stubs and mocks
navit 48 almost 3 years ago PhantomJS / SlimerJS wrapper to simplify browser test scripting
Nock 12,738 7 days ago HTTP mocking and expectations
intern 4,362 over 1 year ago Code testing stack
toxy 2,728 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 almost 3 years ago Run tests for multiple versions of Node.js locally with NVM
Nightwatch 11,837 10 days ago Automated UI testing framework based on Selenium WebDriver
WebdriverIO 9,074 6 days ago Automated testing based on the WebDriver protocol
Jest 44,276 15 days ago Painless JavaScript testing
TestCafe 9,822 9 days ago Automated browser testing
abstruse 938 10 months ago Continuous Integration server
CodeceptJS 4,114 6 days ago End-to-end testing
Puppeteer 88,848 7 days ago Headless Chrome
Playwright 66,974 6 days ago Headless Chromium, WebKit, and Firefox with a single API
nve 693 19 days ago Run any command on multiple versions of Node.js locally
axe-core 6,008 10 days ago Accessibility engine for automated Web UI testing
testcontainers-node 1,925 3 days 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,875 2 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,072 about 1 month ago Brute-force and DDoS attack protection
crypto-hash 638 4 months ago Async non-blocking hashing
jose-simple 63 7 months ago Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard

Packages / Benchmarking

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

Packages / Minifiers

babel-minify 4,393 6 months ago ES2015+ aware minifier based on the Babel toolchain
UglifyJS2 13,164 5 days ago JavaScript minifier
clean-css 4,166 about 1 month ago CSS minifier
minimize 162 over 4 years ago HTML minifier
imagemin 5,577 2 months ago Image minifier

Packages / Authentication

Passport 22,962 3 months ago Simple, unobtrusive authentication
Grant 4,099 2 months ago OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more

Packages / Authorization

CASL 6,019 22 days ago Isomorphic authorization for UI and API
node-casbin 2,611 17 days ago Authorization library that supports access control models like ACL, RBAC and ABAC

Packages / Email

Nodemailer 16,730 24 days ago The fastest way to handle email
emailjs 2,187 about 1 year ago Send text/HTML emails with attachments to any SMTP server
email-templates 3,673 3 months ago Create, preview, and send custom email templates
MJML 17,082 23 days ago Markup language designed to reduce the pain of creating responsive emails

Packages / Job queues

bull 15,574 20 days ago Persistent job and message queue
agenda 9,400 3 months ago MongoDB-backed job scheduling
idoit 77 over 1 year ago Redis-backed job queue engine with advanced job control
node-resque 1,371 10 days ago Redis-backed job queue
rsmq 1,758 over 3 years ago Redis-backed message queue
bee-queue 3,827 14 days ago High-performance Redis-backed job queue
RedisSMQ 594 5 months ago Simple high-performance Redis message queue with real-time monitoring
sqs-consumer 1,757 about 1 month ago Build Amazon Simple Queue Service (SQS) based apps without the boilerplate
better-queue 512 5 months ago Simple and efficient job queue when you cannot use Redis
bullmq 6,186 5 days ago Persistent job and message queue
bree 3,063 4 months ago Job task scheduler with worker threads, cron, date, and human syntax support

Packages / Node.js management

n 18,881 12 days ago Node.js version management
nave 1,606 10 months ago Virtual Environments for Node.js
nodeenv 1,707 3 months ago Node.js virtual environment compatible to Python's virtualenv
nvm for Windows 37,966 7 days ago Version management for Windows
nodenv 2,249 3 months ago Version manager that is similar to Ruby's rbenv. It supports auto version switching
fnm 18,260 6 days ago Cross-platform Node.js version manager built in Rust

Packages / Cross-platform integration

napi-rs 6,132 3 days ago Framework for building compiled Node.js add-ons in Rust via Node-API
Neon 8,063 5 days ago Rust bindings for writing safe and fast native Node.js modules
Edge.js 710 9 days ago Run .NET and Node.js code in the same process on Windows, macOS, and Linux
DotNetJS 669 6 days ago Consume .NET libraries in Node.js using this .NET interoperability layer

Packages / Natural language processing

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

Packages / Process management

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

Packages / Automation

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

Packages / AST

Acorn 10,609 25 days ago Tiny, fast JavaScript parser
babel-parser 43,241 6 days ago JavaScript parser used in Babel

Packages / Static site generators

DocPad 3,056 9 months ago Static site generator with dynamic abilities and huge plugin ecosystem
docsify 27,777 5 days ago Markdown documentation site generator with no statically built HTML files
Charge 428 4 months ago Opinionated, zero-config static site generator using JSX and MDX

Packages / Content management systems

KeystoneJS 9,271 3 days ago CMS and web application platform built on Express and MongoDB
ApostropheCMS 4,361 7 days ago Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB
Strapi 63,815 4 days ago Content Management Framework (headless-CMS) to build powerful APIs
Factor 1,417 4 days ago Vue.js dashboard framework and headless CMS
AdminBro 8,260 2 months ago Auto-generated admin panel with CRUD for all your resources
Graphweaver 491 6 days ago CMS and headless GraphQL API

Packages / Forum

nodeBB 14,231 5 days ago Forum platform for the modern web

Packages / Blogging

Ghost 47,509 6 days ago Simple, powerful publishing platform
Hexo 39,525 about 1 month ago Fast, simple and powerful blogging framework

Packages / Weird

cows 419 4 months ago ASCII cows
superb 394 7 months ago Get superb like words
cat-names 272 7 months ago Get popular cat names
dog-names 124 7 months ago Get popular dog names
superheroes 233 7 months ago Get superhero names
supervillains 117 7 months ago Get supervillain names
cool-ascii-faces 1,773 over 7 years ago Get some cool ascii faces
cat-ascii-faces 254 over 9 years ago
nerds 109 5 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,938 about 1 month ago Implementation of Protocol Buffers
compactr 101 about 4 years ago Implementation of the Compactr protocol

Packages / Miscellaneous

execa 6,872 23 days ago Better
cheerio 28,692 6 days ago Fast, flexible, and lean implementation of core jQuery designed specifically for the server
open 3,193 7 months ago Opens stuff like websites, files, executables
hasha 957 about 1 year ago Hashing made simple. Get the hash of a buffer/string/stream/file
dot-prop 817 7 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,089 3 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 over 3 years ago Strip UTF-8 byte order mark (BOM) from a string/buffer/stream
os-locale 225 almost 3 years ago Get the system locale
ssh2 5,534 2 months ago SSH2 client and server module
adit 55 over 7 years ago SSH tunneling made simple
file-type 3,720 6 days ago Detect the file type of a Buffer
Bottleneck 1,833 10 months ago Rate limiter that makes throttling easy
webworker-threads 2,297 about 3 years ago Lightweight Web Worker API implementation with native threads
clipboardy 1,791 about 1 year ago Access the system clipboard (copy/paste)
node-pre-gyp 1,118 3 months ago Makes it easy to publish and install Node.js C++ addons from binaries
opencv 4,380 5 months ago Bindings for OpenCV. The defacto computer vision library
dotenv 19,228 5 days ago Load environment variables from .env file
semver 5,100 about 2 months ago Semantic version parser
nodegit 5,658 3 months ago Native bindings to Git
json-strictify 19 6 days ago Safely serialize a value to JSON without data loss or going into an infinite loop
jsdom 20,560 2 months ago JavaScript implementation of HTML and the DOM
@sindresorhus/is 1,682 3 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 5 months ago Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming
basic-ftp 675 4 months ago FTP/FTPS client
cashify 402 about 1 year ago Currency conversion
genepi 81 over 1 year ago Automatically generate a native Node.js addon from C++ code
husky 32,630 about 1 month ago Create Git hook scripts
patch-package 10,462 5 months ago Make and preserve fixes to npm dependencies
editly 4,791 4 months ago Declarative video editing API
wild-wild-path 721 5 days ago Object property paths with wildcards and regexes
uint8array-extras 213 4 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 100,616 5 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,814 over 4 years ago An introduction to Node.js
module-best-practices 1,543 over 6 years ago Some good practices when writing new npm modules
The Node Way 1,492 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,535 almost 6 years ago Introduction to Node.js core features and asynchronous JavaScript
Portable Node.js guide 1,400 5 days 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,349 11 months ago
Stream FAQs 195 about 9 years ago Answering common questions about streams, covering pagination, events, and more
Strong Node.js 501 7 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,218 6 days 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 736 3 months ago Boilerplate to kickstart creating a node module
modern-node 246 almost 2 years ago Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
generator-nm 742 7 months ago Scaffold out a node module
Microsoft Node.js Guidelines 2,494 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,232 about 2 years ago Notes and resources related to V8 and thus Node.js performance
awesome-npm 4,500 30 days ago Resources and tips for using npm
awesome-cross-platform-nodejs 1,151 almost 2 years ago Resources for writing and testing cross-platform code

Backlinks from these awesome lists:

More related projects: