Skip to content
90

Awesome Nodejs

:zap: Delightful Node.js packages and resources [BECAUSE OF TOO MUCH SPAM AND LOW-QUALITY SUBMISSIONS, SUBMISSIONS ARE PAUSED TEMPORARILY]

67k stars6,235 forks588 entriesLast push Sep 2, 2026 (28 days ago)License CC0-1.0

This page lists names, links and short descriptions. The original list on GitHub is the source and belongs to its authors.

Official

Website

🛠️ - 🐙 - A JavaScript runtime built on Chrome's V8 JavaScript engine.

In 3 lists

Documentation

In 2 lists

Repository

(label: good first issue) JavaScript runtime built on Chrome's V8 JavaScript engine

In 4 listsDetails

Packages >Mad science

webtorrent

Streaming torrent client for Node.js and the browser.

In 3 lists

peerflix

Streaming torrent client.

In 4 listsDetails

ipfs

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

All of Wikipedia on BitTorrent.

In 2 lists

peercast

Stream a torrent video to Chromecast.

In 2 lists

BitcoinJS

Clean, readable, proven Bitcoin library.

In 4 listsDetails

Bitcore

Pure and powerful Bitcoin library.

In 3 lists

PDFKit

PDF generation library.

In 3 lists

turf

Modular geospatial processing and analysis engine.

In 5 listsDetails

webcat

p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.

In 4 listsDetails

NodeOS

The first operating system powered by npm.

In 4 listsDetails

YodaOS

AI operating system.

Brain.js

Machine-learning framework.

In 3 lists

Pipcook

Front-end algorithm framework to create a machine learning pipeline.

In 3 lists

Cytoscape.js

Graph theory (a.k.a. network) modeling and analysis.

In 3 lists

js-git

JavaScript implementation of Git.

In 4 listsDetails

xlsx

Pure JS Excel spreadsheet reader and writer.

In 5 listsDetails

isomorphic-git

Pure JavaScript implementation of Git.

In 3 lists

Packages >Command-line apps

np

Better npm publish.

In 5 listsDetails

npm-name

Check a package name's availability on npm.

In 2 lists

gh-home

Open the GitHub page of the repo in the current directory.

In 2 lists

npm-home

Open the npm page of a package.

In 4 listsDetails

trash

Safer alternative to rm.

In 2 lists

speed-test

Test your internet connection speed and ping.

In 3 lists

pageres

Capture website screenshots.

In 3 lists

cpy

Copy files.

In 3 lists

vtop

More better top, with nice charts.

In 4 listsDetails

empty-trash

Empty the trash.

In 2 lists

is-up

Check whether a website is up or down.

is-online

Check if the internet connection is up.

public-ip

Get your public IP address.

In 2 lists

clipboard-cli

Copy & paste on the terminal.

In 2 lists

XO

Enforce strict code style using the JavaScript happiness style.

In 4 listsDetails

ESLint

The pluggable linting utility for JavaScript.

In 7 listsDetails

David

Tells you when your package npm dependencies are out of date.

In 2 lists

http-server

Simple, zero-config command-line HTTP server.

In 4 listsDetails

Live Server

Development HTTP-server with livereload capability.

In 2 lists

bcat

Pipe command output to web browsers.

normit

Google Translate with speech synthesis in your terminal.

fkill

Fabulously kill processes. Cross-platform.

In 4 listsDetails

pjs

Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.

license-checker

Check licenses of your app's dependencies.

browser-run

Easily run code in a browser environment.

tmpin

Adds stdin support to any CLI app that accepts file input.

wallpaper

Change the desktop wallpaper.

pen

Live Markdown preview in the browser from your favorite editor.

dark-mode

Toggle the macOS Dark Mode.

In 2 lists

Jsome

Pretty prints JSON with configurable colors and indentation.

mobicon

Mobile app icon generator.

In 2 lists

mobisplash

Mobile app splash screen generator.

In 2 lists

diff2html-cli

Pretty git diff to HTML generator.

In 3 lists

trymodule

Try out npm packages in the terminal.

jscpd

Copy/paste detector for source code.

In 2 lists

atmo

Server-side API mocking.

auto-install

Auto installs dependencies as you code.

cost-of-modules

Find out which dependencies are slowing you down.

localtunnel

Expose your localhost to the world.

In 4 listsDetails

svg-term-cli

Share terminal sessions via SVG.

In 2 lists

gtop

System monitoring dashboard for the terminal.

In 5 listsDetails

themer

Generate themes for your editor, terminal, wallpaper, Slack, and more.

In 2 lists

carbon-now-cli

Beautiful images of your code — from right inside your terminal.

In 4 listsDetails

cash-cli

Convert between 170 currencies.

In 3 lists

taskbook

Tasks, boards & notes for the command-line habitat.

In 3 lists

discharge

Easily deploy static websites to Amazon S3.

In 3 lists

npkill

Easily find and remove old and heavy node_modules folders.

In 3 lists

Packages >Functional programming

lodash

Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.

In 8 listsDetails

immutable

Immutable data collections.

In 3 lists

Ramda

Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.

In 6 listsDetails

Mout

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.

In 3 lists

RxJS

Functional reactive library for transforming, composing, and querying various kinds of data.

In 4 listsDetails

Kefir.js

Reactive library with focus on high performance and low memory usage.

In 2 lists

Packages >HTTP

got

Nicer interface to the built-in http module.

In 3 lists

undici

High performance HTTP client written from scratch with zero dependencies.

In 3 lists

ky-universal

Universal HTTP client based on Fetch.

node-fetch

window.fetch for Node.js.

In 2 lists

axios

Promise based HTTP client (works in the browser too).

In 4 listsDetails

superagent

HTTP request library.

In 4 listsDetails

http-fake-backend

Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.

In 2 lists

cacheable-request

Wrap native HTTP requests with RFC compliant cache support.

In 2 lists

gotql

GraphQL request library built on got.

In 2 lists

global-agent

Global HTTP/HTTPS proxy agent that is configurable using environment variables.

In 2 lists

smoke

File-based HTTP mock server with recording abilities.

In 2 lists

purest

REST client.

Packages >Debugging / Profiling

debug

Tiny debugging utility.

In 2 lists

why-is-node-running

Node.js is running but you don't know why?

In 2 lists

njsTrace

Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.

In 2 lists

vstream

Instrumentable streams mix-ins to inspect a pipeline of streams.

In 2 lists

stackman

Enhance an error stacktrace with code excerpts and other goodies.

In 2 lists

locus

Starts a REPL at runtime that has access to all variables.

In 2 lists

0x

Flamegraph profiling.

In 2 lists

ctrace

Well-formatted and improved trace system calls and signals.

In 2 lists

leakage

Write memory leak tests.

In 3 lists

llnode

Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process.

In 2 lists

thetool

Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format.

In 3 lists

swagger-stats

Trace API calls and monitor API performance, health, and usage metrics.

In 2 lists

NiM

Manages DevTools debugging workflow.

In 2 lists

dats

Minimalistic and zero-dependencies StatsD client.

Packages >Logging

pino

Extremely fast logger inspired by Bunyan.

In 3 lists

winston

Multi-transport async logging library.

In 4 listsDetails

console-log-level

The most simple logger imaginable with support for log levels and custom prefixes.

storyboard

End-to-end, hierarchical, real-time, colorful logs and stories.

In 2 lists

consola

Console logger.

Packages >Command-line utilities

chalk

Terminal string styling done right.

In 3 lists

meow

CLI app helper.

In 3 lists

yargs

Command-line parser that automatically generates an elegant user-interface.

In 6 listsDetails

ora

Elegant terminal spinner.

In 4 listsDetails

get-stdin

Easier stdin.

log-update

Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.

Ink

React for interactive command-line apps.

In 3 lists

listr2

Terminal task list.

conf

Simple config handling for your app or module.

ansi-escapes

ANSI escape codes for manipulating the terminal.

log-symbols

Colored symbols for various log levels.

In 3 lists

figures

Unicode symbols with Windows CMD fallbacks.

In 3 lists

boxen

Create boxes in the terminal.

In 2 lists

terminal-link

Create clickable links in the terminal.

In 2 lists

terminal-image

Display images in the terminal.

In 2 lists

string-width

Get the visual width of a string - the number of columns required to display it.

In 2 lists

cli-truncate

Truncate a string to a specific width in the terminal.

blessed

Curses-like library.

In 3 lists

Inquirer.js

Interactive command-line prompt.

In 4 listsDetails

yn

Parse yes/no like values.

cli-table3

Pretty unicode tables.

In 2 lists

drawille

Draw on the terminal with unicode braille characters.

ascii-charts

ASCII bar chart in the terminal.

In 2 lists

progress

Flexible ascii progress bar.

In 2 lists

insight

Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.

cli-cursor

Toggle the CLI cursor.

cli-columns

Columnated unicode and ansi-safe text lists.

cfonts

Sexy ASCII fonts for the console.

In 3 lists

multispinner

Multiple, simultaneous, individually controllable CLI spinners.

omelette

Shell autocompletion helper.

cross-env

Set environment variables cross-platform.

In 4 listsDetails

shelljs

Portable Unix shell commands.

In 4 listsDetails

sudo-block

Block users from running your app with root permissions.

sparkly

Generate sparklines ▁▂▃▅▂▇.

In 2 lists

Bit

Create, maintain, find and use small modules and components across repositories.

In 9 listsDetails

gradient-string

Beautiful color gradients in terminal output.

In 2 lists

oclif

CLI framework complete with parser, automatic documentation, testing, and plugins.

In 3 lists

terminal-size

Reliably get the terminal window size.

Cliffy

Framework for interactive CLIs.

In 2 lists

zx

Write shell scripts in JavaScript.

In 3 lists

Packages >Build tools

parcel

Blazing fast, zero config web app bundler.

In 6 listsDetails

webpack

Packs modules and assets for the browser.

In 9 listsDetails

rollup

Next-generation ES2015 module bundler.

In 5 listsDetails

gulp

Streaming and fast build system that favors code over config.

In 7 listsDetails

Broccoli

Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.

In 3 lists

Brunch

Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.

In 5 listsDetails

FuseBox

Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.

In 4 listsDetails

pkg

Package your Node.js project into an executable.

In 2 lists

Vite

Front-end build tool with hot module replacement and static asset bundling.

In 10 listsDetails

Packages >Hardware

johnny-five

Firmata based Arduino Framework.

In 5 listsDetails

serialport

Access serial ports for reading and writing.

usb

USB library.

i2c-bus

I2C serial bus access.

In 2 lists

onoff

GPIO access and interrupt detection.

In 2 lists

spi-device

SPI serial bus access.

In 2 lists

pigpio

Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.

In 2 lists

gps

NMEA parser for handling GPS receivers.

In 2 lists

modbus-serial

A pure JavaScript implementation of MODBUS-RTU (serial and TCP).

Packages >Templating

marko

HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.

In 4 listsDetails

nunjucks

Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).

In 4 listsDetails

handlebars.js

Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.

In 3 lists

EJS

Simple unopinionated templating language.

In 5 listsDetails

Pug

High-performance template engine heavily influenced by Haml.

In 4 listsDetails

Packages >Web frameworks

Fastify

Fast and low overhead web framework.

In 4 listsDetails

Next.js

Minimalistic framework for server-rendered universal JavaScript web apps.

In 8 listsDetails

Nuxt.js

Minimalistic framework for server-rendered Vue.js apps.

In 3 lists

Hapi

Framework for building applications and services.

In 4 listsDetails

Micro

Minimalistic microservice framework with an async approach.

In 2 lists

Koa

Framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.

In 4 listsDetails

Express

Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.

In 3 lists

Feathers

Microservice framework built in the spirit of Express.

In 3 lists

LoopBack

Powerful framework for creating REST APIs and easily connecting to backend data sources.

Meteor

An ultra-simple, database-everywhere, data-on-the-wire, pure-JavaScript web framework. (You might like awesome-meteor)

In 8 listsDetails

Restify

Enables you to build correct REST web services.

In 5 listsDetails

ThinkJS

Framework with ES2015+ support, WebSockets, REST API.

In 3 lists

ActionHero

Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.

In 2 lists

seneca

Toolkit for writing microservices.

In 4 listsDetails

AdonisJs

A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.

In 3 lists

Moleculer

Fast & powerful microservices framework.

In 2 lists

Nest

Angular-inspired framework for building efficient and scalable server-side apps.

In 4 listsDetails

TypeGraphQL

Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators.

In 2 lists

Tinyhttp

Modern and fast Express-like web framework.

Marble.js

Functional reactive framework for building server-side apps, based on TypeScript and RxJS.

In 2 lists

Lad

Framework made by a former Express TC and Koa member that bundles web, API, job, and proxy servers.

In 2 lists

Ts.ED

Intuitive TypeScript framework for building server-side apps on top of Express.js or Koa.js.

Hono

Small and fast web framework.

In 3 lists

Packages >Documentation

documentation.js

API documentation generator with support for ES2015+ and flow annotation.

In 3 lists

Docco

Documentation generator which produces an HTML document that displays your comments intermingled with your code.

In 2 lists

JSDoc

API documentation generator similar to JavaDoc or PHPDoc.

In 2 lists

Docusaurus

Documentation website generator that leverages React and Markdown, and comes with translation and versioning features.

In 6 listsDetails

Packages >Filesystem

del

Delete files/folders using globs.

In 3 lists

globby

Glob files with support for multiple patterns.

In 2 lists

chokidar

Filesystem watcher which stabilizes events from fs.watch and fs.watchFile as well as using native fsevents on macOS.

In 3 lists

find-up

Find a file by walking up parent directories.

In 2 lists

proper-lockfile

Inter-process and inter-machine lockfile utility.

load-json-file

Read and parse a JSON file.

In 2 lists

write-json-file

Stringify and write JSON to a file atomically.

In 2 lists

fs-write-stream-atomic

Like fs.createWriteStream(), but atomic.

filenamify

Convert a string to a valid filename.

In 2 lists

istextorbinary

Check if a file is text or binary.

In 2 lists

fs-jetpack

Completely redesigned file system API for convenience in everyday use.

In 2 lists

fs-extra

Extra methods for the fs module.

In 4 listsDetails

package-directory

Find the root directory of an npm package.

filehound

Flexible and fluent interface for searching the file system.

In 2 lists

move-file

Move a file, even works across devices.

In 2 lists

tempy

Get a random temporary file or directory path.

In 2 lists

Packages >Control flow

pify

Promisify a callback-style function.

In 6 listsDetails

delay

Delay a promise a specified amount of time.

In 5 listsDetails

promise-memoize

Memoize promise-returning functions, with expire and prefetch.

In 2 lists

valvelet

Limit the execution rate of a promise-returning function.

In 2 lists

p-map

Map over promises concurrently.

In 4 listsDetails

More…

@sindresorhus's notes, patterns, and solutions to common Promise problems

In 2 listsDetails

RxJS

Functional reactive library for transforming, composing, and querying various kinds of data.

In 4 listsDetails

observable-to-promise

Convert an Observable to a Promise.

In 3 lists

More…

An Observable is a collection that arrives over time.

In 2 listsDetails

Highland.js

Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.

Packages >Streams

get-stream

Get a stream as a string or buffer.

In 3 lists

from2

Convenience wrapper for ReadableStream, inspired by through2.

In 2 lists

into-stream

Convert a buffer/string/array/object into a stream.

In 2 lists

duplexify

Turn a writeable and readable stream into a single streams2 duplex stream.

In 2 lists

pumpify

Combine an array of streams into a single duplex stream.

In 2 lists

peek-stream

Transform stream that lets you peek the first line before deciding how to parse it.

In 2 lists

binary-split

Newline (or any delimiter) splitter stream.

In 2 lists

byline

Super-simple line-by-line Stream reader.

In 2 lists

first-chunk-stream

Transform the first chunk in a stream.

In 2 lists

pad-stream

Pad each line in a stream.

multistream

Combine multiple streams into a single stream.

In 2 lists

readable-stream

Mirror of Streams2 and Streams3 implementations in core.

In 2 lists

through2-concurrent

Transform object streams concurrently.

In 2 lists

Packages >Real-time

µWebSockets

Highly scalable WebSocket server & client library.

In 7 listsDetails

Socket.io

Enables real-time bidirectional event-based communication.

In 5 listsDetails

Faye

Real-time client-server message bus, based on Bayeux protocol.

In 2 lists

SocketCluster

Scalable HTTP + WebSocket engine which can run on multiple CPU cores.

In 3 lists

Primus

An abstraction layer for real-time frameworks to prevent module lock-in.

In 3 lists

deepstream.io

Scalable real-time microservice framework.

In 2 lists

Kalm

Low-level socket router and middleware framework.

In 2 lists

MQTT.js

Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.

In 5 listsDetails

rpc-websockets

JSON-RPC 2.0 implementation over WebSockets.

In 3 lists

Aedes

Barebone MQTT server that can run on any stream server.

In 2 lists

Packages >Image

sharp

The fastest module for resizing JPEG, PNG, WebP and TIFF images.

In 5 listsDetails

image-type

Detect the type of an image.

In 2 lists

image-dimensions

Get the dimensions of an image.

lwip

Lightweight image processor which does not require ImageMagick.

In 2 lists

pica

High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.

In 3 lists

jimp

Image processing in pure JavaScript.

In 2 lists

qrcode

QR code and bar code generator.

In 4 listsDetails

ImageScript

Image processing in JavaScript, utilizing WebAssembly for performance.

In 3 lists

Packages >Text

iconv-lite

Convert character encodings.

In 2 lists

string-length

Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.

In 2 lists

camelcase

Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.

In 2 lists

escape-string-regexp

Escape RegExp special characters.

In 2 lists

splice-string

Remove or replace part of a string like Array#splice.

In 2 lists

indent-string

Indent each line in a string.

In 2 lists

strip-indent

Strip leading whitespace from every line in a string.

In 2 lists

detect-indent

Detect the indentation of code.

In 2 lists

he

HTML entity encoder/decoder.

In 4 listsDetails

i18n-node

Simple translation module with dynamic JSON storage.

In 2 lists

babelfish

i18n with very easy syntax for plurals.

In 3 lists

matcher

Simple wildcard matching.

In 2 lists

unhomoglyph

Normalize visually similar unicode characters.

In 2 lists

i18next

Internationalization framework.

In 7 listsDetails

nanoid

Tiny, secure, URL-friendly, unique string ID generator.

In 6 listsDetails

StegCloak

Conceal secrets within strings, in plain sight.

In 8 listsDetails

Packages >Number

random-int

Generate a random integer.

In 2 lists

random-float

Generate a random float.

In 2 lists

unique-random

Generate random numbers that are consecutively unique.

In 2 lists

round-to

Round a number to a specific number of decimal places: 1.234 → 1.2.

In 2 lists

Packages >Math

ndarray

Multidimensional arrays.

In 2 lists

mathjs

An extensive math library.

In 3 lists

math-clamp

Clamp a number.

algebra

Algebraic structures.

In 2 lists

multimath

Core to create fast image math in WebAssembly and JS.

In 2 lists

Packages >Date

Luxon

Library for working with dates and times.

In 4 listsDetails

date-fns

Modern date utility.

In 5 listsDetails

Day.js

Immutable date library alternative to Moment.js.

In 6 listsDetails

dateformat

Date formatting.

In 2 lists

tz-format

Format a date with timezone: 2015-11-30T10:40:35+01:00.

cctz

Fast parsing, formatting, and timezone conversion for dates.

Packages >URL

normalize-url

Normalize a URL.

In 2 lists

humanize-url

Humanize a URL: https://sindresorhus.com → sindresorhus.com.

In 2 lists

url-unshort

Expand shortened URLs.

speakingurl

Generate a slug from a string with transliteration.

In 2 lists

linkify-it

Link patterns detector with full unicode support.

url-pattern

Easier than regex string matching patterns for URLs and other strings.

In 3 lists

embedza

Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.

Packages >Data validation

joi

Object schema description language and validator for JavaScript objects.

is-my-json-valid

JSON Schema validator that uses code generation to be extremely fast.

In 3 lists

property-validator

Easy property validation for Express.

In 2 lists

schema-inspector

JSON API sanitization and validation.

ajv

The fastest JSON Schema validator. Supports v5, v6 and v7 proposals.

In 3 lists

Superstruct

Simple and composable way to validate data in JavaScript (and TypeScript).

In 3 lists

yup

Object schema validation.

In 4 listsDetails

zod

TypeScript-first schema validation with static type inference.

In 5 listsDetails

Packages >Parsing

remark

Markdown processor powered by plugins.

In 2 lists

markdown-it

Markdown parser with 100% CommonMark support, extensions and syntax plugins.

In 5 listsDetails

parse5

Fast full-featured spec compliant HTML parser.

In 2 lists

@parcel/css

A CSS parser, transformer, and minifier written in Rust.

strip-json-comments

Strip comments from JSON.

In 2 lists

strip-css-comments

Strip comments from CSS.

In 2 lists

parse-json

Parse JSON with more helpful errors.

In 2 lists

URI.js

URL mutation.

In 5 listsDetails

JSONStream

Streaming JSON.parse and stringify.

In 3 lists

neat-csv

Fast CSV parser. Callback interface for the above.

In 2 lists

csv-parser

Streaming CSV parser that aims to be faster than everyone else.

In 2 lists

PEG.js

Simple parser generator that produces fast parsers with excellent error reporting.

In 3 lists

x-ray

Web scraping utility.

nearley

Simple, fast, powerful parsing for JavaScript.

In 3 lists

binary-extract

Extract a value from a buffer of JSON without parsing the whole thing.

Stylecow

Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.

In 2 lists

js-yaml

Very fast YAML parser.

In 3 lists

xml2js

XML to JavaScript object converter.

In 2 lists

Jison

Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.

In 2 lists

google-libphonenumber

Parse, format, store and validate phone numbers.

ref

Read/write structured binary data in Buffers.

xlsx-populate

Read/write Excel XLSX.

In 2 lists

Chevrotain

Very fast and feature rich parser building toolkit for JavaScript.

fast-xml-parser

Validate and parse XML.

In 3 lists

Packages >Humanize

pretty-bytes

Convert bytes to a human readable string: 1337 → 1.34 kB.

pretty-ms

Convert milliseconds to a human readable string: 1337000000 → 15d 11h 23m 20s.

In 3 lists

ms

Tiny millisecond conversion utility.

In 3 lists

pretty-error

Errors with less clutter.

read-art

Extract readable content from any page.

Packages >Compression

yazl

Zip.

In 2 lists

yauzl

Unzip.

In 2 lists

Archiver

Streaming interface for archive generation, supporting ZIP and TAR.

In 2 lists

pako

High speed zlib port to pure js (deflate, inflate, gzip).

In 4 listsDetails

tar-stream

Streaming tar parser and generator. Also see tar-fs.

In 2 lists

Packages >Network

get-port

Get an available port.

In 2 lists

ipify

Get your public IP address.

In 2 lists

getmac

Get the computer MAC address.

In 2 lists

DHCP

DHCP client and server.

In 2 lists

netcat

Netcat port in pure JS.

In 2 lists

Packages >Database

PostgreSQL

PostgreSQL client. Pure JavaScript and native libpq bindings.

In 3 lists

Redis

Redis client.

In 2 lists

LevelUP

LevelDB.

In 3 lists

MySQL

MySQL client.

In 4 listsDetails

couchdb-nano

CouchDB client.

In 2 lists

Aerospike

Aerospike client.

In 2 lists

Couchbase

Couchbase client.

In 2 lists

MongoDB

MongoDB driver.

In 3 lists

Sequelize

Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more.

In 4 listsDetails

Bookshelf

ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.

In 3 lists

Mongoose

Elegant MongoDB object modeling.

In 5 listsDetails

Waterline

Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.

In 2 lists

OpenRecord

ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.

In 2 lists

pg-promise

PostgreSQL framework for native SQL using promises.

In 3 lists

slonik

PostgreSQL client with strict types, detailed logging and assertions.

In 2 lists

Objection.js

Lightweight ORM built on the SQL query builder Knex.

In 4 listsDetails

TypeORM

ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more.

In 5 listsDetails

MikroORM

TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite.

In 4 listsDetails

Prisma

Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite.

In 4 listsDetails

Drizzle ORM

TypeScript ORM that supports various databases such as PostgreSQL.

In 3 lists

Knex

Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.

In 4 listsDetails

NeDB

Embedded persistent database written in JavaScript.

In 6 listsDetails

Lowdb

Small JavaScript database powered by Lodash.

In 5 listsDetails

Keyv

Simple key-value storage with support for multiple backends.

Finale

RESTful endpoint generator for your Sequelize models.

In 2 lists

database-js

Wrapper for multiple databases with a JDBC-like connection.

In 2 lists

Mongo Seeding

Populate MongoDB databases with JavaScript and JSON files.

In 3 lists

@databases

Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection.

In 2 lists

pg-mem

In-memory PostgreSQL instance for your tests.

In 2 lists

Packages >Testing

AVA

Futuristic test runner.

In 5 listsDetails

Mocha

Feature-rich test framework making asynchronous testing simple and fun.

In 5 listsDetails

nyc

Code coverage tool built on istanbul that works with subprocesses.

In 3 lists

tap

TAP test framework.

In 2 lists

tape

TAP-producing test harness.

In 3 lists

power-assert

Provides descriptive assertion messages through the standard assert interface.

In 4 listsDetails

Mochify

TDD with Browserify, Mocha, PhantomJS and WebDriver.

In 2 lists

trevor

Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.

In 2 lists

loadtest

Run load tests for your web application, with an API for automation.

In 2 lists

Sinon.JS

Test spies, stubs and mocks.

In 4 listsDetails

navit

PhantomJS / SlimerJS wrapper to simplify browser test scripting.

Nock

HTTP mocking and expectations.

In 2 lists

intern

Code testing stack.

In 2 lists

toxy

Hackable HTTP proxy to simulate failure scenarios and network conditions.

hook-std

Hook and modify stdout/stderr.

testen

Run tests for multiple versions of Node.js locally with NVM.

Nightwatch

Automated UI testing framework based on Selenium WebDriver.

In 5 listsDetails

WebdriverIO

Automated testing based on the WebDriver protocol.

In 6 listsDetails

Jest

Painless JavaScript testing.

In 6 listsDetails

Vitest

Fast unit test framework powered by Vite.

In 4 listsDetails

TestCafe

Automated browser testing.

In 4 listsDetails

abstruse

Continuous Integration server.

In 5 listsDetails

CodeceptJS

End-to-end testing.

In 3 lists

Puppeteer

Headless Chrome.

In 5 listsDetails

Playwright

Headless Chromium, WebKit, and Firefox with a single API.

In 10 listsDetails

nve

Run any command on multiple versions of Node.js locally.

In 2 lists

axe-core

Accessibility engine for automated Web UI testing.

In 2 lists

testcontainers-node

Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container.

Packages >Security

upash

Unified API for all password hashing algorithms.

themis

Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on.

In 13 listsDetails

GuardRails

GitHub app that provides security feedback in pull requests.

In 4 listsDetails

rate-limiter-flexible

Brute-force and DDoS attack protection.

In 2 lists

crypto-hash

Async non-blocking hashing.

In 2 lists

jose-simple

Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard.

Packages >Benchmarking

Benchmark.js

Benchmarking library that supports high-resolution timers and returns statistically significant results.

In 3 lists

Packages >Minifiers

babel-minify

ES2015+ aware minifier based on the Babel toolchain.

In 2 lists

UglifyJS2

JavaScript minifier.

In 8 listsDetails

clean-css

CSS minifier.

In 2 lists

minimize

HTML minifier.

In 3 lists

imagemin

Image minifier.

In 3 lists

Packages >Authentication

Passport

Simple, unobtrusive authentication.

In 3 lists

Grant

OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more.

In 4 listsDetails

Packages >Authorization

CASL

Isomorphic authorization for UI and API.

In 5 listsDetails

node-casbin

Authorization library that supports access control models like ACL, RBAC and ABAC.

In 2 lists

Packages >Email

Nodemailer

The fastest way to handle email.

In 4 listsDetails

emailjs

Send text/HTML emails with attachments to any SMTP server.

In 2 lists

email-templates

Create, preview, and send custom email templates.

In 2 lists

MJML

Markup language designed to reduce the pain of creating responsive emails.

In 4 listsDetails

Forward Email

Open-source and self-hostable email service.

In 2 lists

Packages >Job queues

bull

Persistent job and message queue.

In 4 listsDetails

agenda

MongoDB-backed job scheduling.

In 2 lists

idoit

Redis-backed job queue engine with advanced job control.

In 2 lists

node-resque

Redis-backed job queue.

rsmq

Redis-backed message queue.

In 2 lists

bee-queue

High-performance Redis-backed job queue.

In 2 lists

RedisSMQ

Simple high-performance Redis message queue with real-time monitoring.

In 2 lists

sqs-consumer

Build Amazon Simple Queue Service (SQS) based apps without the boilerplate.

In 2 lists

better-queue

Simple and efficient job queue when you cannot use Redis.

In 2 lists

bullmq

Persistent job and message queue.

In 2 lists

bree

Job task scheduler with worker threads, cron, date, and human syntax support.

In 2 lists

graphile-worker

High performance PostgreSQL job queue.

Packages >Node.js management

n

Node.js version management.

In 2 lists

nave

Virtual Environments for Node.js.

In 2 lists

nodeenv

Node.js virtual environment compatible to Python's virtualenv.

In 3 lists

nvm for Windows

Version management for Windows.

In 5 listsDetails

nodenv

Version manager that is similar to Ruby's rbenv. It supports auto version switching.

In 2 lists

fnm

Cross-platform Node.js version manager built in Rust.

In 2 lists

Packages >Cross-platform integration

napi-rs

Framework for building compiled Node.js add-ons in Rust via Node-API.

Neon

Rust bindings for writing safe and fast native Node.js modules.

In 3 lists

Edge.js

Run .NET and Node.js code in the same process on Windows, macOS, and Linux.

DotNetJS

Consume .NET libraries in Node.js using this .NET interoperability layer.

Packages >Natural language processing

retext

An extensible natural language system.

In 3 lists

franc

Detect the language of text.

In 4 listsDetails

leven

Measure the difference between two strings using the Levenshtein distance algorithm.

In 2 lists

natural

Natural language facility.

In 6 listsDetails

nlp.js

Building bots, with entity extraction, sentiment analysis, automatic language identification, and more.

In 5 listsDetails

Packages >Process management

PM2

Advanced Process Manager.

In 6 listsDetails

nodemon

Monitor for changes in your app and automatically restart the server.

In 4 listsDetails

node-mac

Run scripts as a native Mac daemon and log to the console app.

In 2 lists

node-linux

Run scripts as native system service and log to syslog.

In 2 lists

node-windows

Run scripts as a native Windows service and log to the Event viewer.

In 3 lists

supervisor

Restart scripts when they crash or restart when a *.js file changes.

In 2 lists

Phusion Passenger

Friendly process manager that integrates directly into Nginx.

In 3 lists

Packages >Automation

robotjs

Desktop Automation: control the mouse, keyboard and read the screen.

In 3 lists

nut.js

Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest.

In 2 lists

Packages >AST

Acorn

Tiny, fast JavaScript parser.

In 3 lists

babel-parser

JavaScript parser used in Babel.

In 8 listsDetails

Packages >Static site generators

DocPad

Static site generator with dynamic abilities and huge plugin ecosystem.

In 2 lists

docsify

Markdown documentation site generator with no statically built HTML files.

In 4 listsDetails

Charge

Opinionated, zero-config static site generator using JSX and MDX.

Packages >Content management systems

KeystoneJS

CMS and web application platform built on Express and MongoDB.

In 5 listsDetails

ApostropheCMS

Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.

In 4 listsDetails

Strapi

Content Management Framework (headless-CMS) to build powerful APIs.

In 6 listsDetails

Factor

Vue.js dashboard framework and headless CMS.

AdminBro

Auto-generated admin panel with CRUD for all your resources.

Graphweaver

CMS and headless GraphQL API.

In 2 lists

Packages >Forum

nodeBB

Forum platform for the modern web.

In 5 listsDetails

Packages >Blogging

Ghost

Simple, powerful publishing platform.

In 8 listsDetails

Hexo

Fast, simple and powerful blogging framework.

In 7 listsDetails

Packages >Weird

cows

ASCII cows.

superb

Get superb like words.

cat-names

Get popular cat names.

dog-names

Get popular dog names.

superheroes

Get superhero names.

supervillains

Get supervillain names.

cool-ascii-faces

Get some cool ascii faces.

cat-ascii-faces

₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”.

nerds

Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.

Packages >Serialization

snappy

Native bindings for Google's Snappy compression library.

In 2 lists

protobuf

Implementation of Protocol Buffers.

In 3 lists

compactr

Implementation of the Compactr protocol.

In 2 lists

Packages >Miscellaneous

execa

Better child_process.

In 5 listsDetails

cheerio

Fast, flexible, and lean implementation of core jQuery designed specifically for the server.

In 3 lists

open

Opens stuff like websites, files, executables.

In 3 lists

hasha

Hashing made simple. Get the hash of a buffer/string/stream/file.

dot-prop

Get a property from a nested object using a dot path.

onetime

Only run a function once.

mem

Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.

In 2 lists

strip-bom

Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.

In 2 lists

os-locale

Get the system locale.

ssh2

SSH2 client and server module.

In 3 lists

adit

SSH tunneling made simple.

file-type

Detect the file type of a Buffer.

In 2 lists

Bottleneck

Rate limiter that makes throttling easy.

In 2 lists

webworker-threads

Lightweight Web Worker API implementation with native threads.

clipboardy

Access the system clipboard (copy/paste).

In 3 lists

node-pre-gyp

Makes it easy to publish and install Node.js C++ addons from binaries.

opencv

Bindings for OpenCV. The defacto computer vision library.

In 3 lists

dotenv

Load environment variables from .env file.

In 3 lists

semver

Semantic version parser.

In 3 lists

nodegit

Native bindings to Git.

In 4 listsDetails

json-strictify

Safely serialize a value to JSON without data loss or going into an infinite loop.

jsdom

JavaScript implementation of HTML and the DOM.

In 3 lists

@sindresorhus/is

Type check values.

env-dot-prop

Get, set, or delete nested properties of process.env using a dot path.

node-video-lib

Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming.

In 2 lists

basic-ftp

FTP/FTPS client.

cashify

Currency conversion.

genepi

Automatically generate a native Node.js addon from C++ code.

husky

Create Git hook scripts.

In 7 listsDetails

patch-package

Make and preserve fixes to npm dependencies.

editly

Declarative video editing API.

In 6 listsDetails

wild-wild-path

Object property paths with wildcards and regexes.

In 2 lists

uint8array-extras

Useful utilities for working with Uint8Array and Buffer.

Package Manager

npm

The default package manager.

pnpm

Disk space efficient package manager.

In 2 lists

yarn

Alternative package manager.

In 3 lists

bun

All-in-one toolkit for JavaScript and TypeScript apps.

In 3 lists

Resources >Tutorials

Node.js Best Practices

Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages.

In 5 listsDetails

Nodeschool

Learn Node.js with interactive lessons.

The Art of Node

An introduction to Node.js.

In 6 listsDetails

module-best-practices

Some good practices when writing new npm modules.

In 2 lists

The Node Way

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

Introduction to Node.js core features and asynchronous JavaScript.

In 2 lists

Portable Node.js guide

Practical guide on how to write portable/cross-platform Node.js code.

In 2 lists

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 myriad of metrics.

In 2 lists

npm addict

Your daily injection of npm packages.

Resources >Articles

Error Handling in Node.js

Teach Yourself Node.js in 10 Steps

In 2 lists

Mastering the filesystem in Node.js

Semver: A Primer

(Must read!)

In 2 lists

Semver: Tilde and Caret

In 2 lists

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.

In 2 lists

Resources >Videos

Introduction to Node.js with Ryan Dahl

[1:06:33]

In 2 lists

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 limitations.

In 3 lists

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?

libuv architecture, thread pool, and event loop, with its source code.

libuv Cross platform asynchronous i/o

libuv 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

Stream FAQs

Answering common questions about streams, covering pagination, events, and more.

Strong Node.js

Checklist for source code security analysis of a Node.js web service.

In 3 lists

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.

In 2 lists

github-npm-stats

Chrome extension that displays npm download stats on GitHub.

In 2 lists

npm semver calculator

Visually explore what versions of a package a semver range matches.

CodeSandbox

Online IDE and prototyping.

Amplication

Auto-generates fully functional apps.

In 5 listsDetails

RunJS

Desktop JavaScript playground.

In 3 lists

Resources >Community

Stack Overflow

Reddit

News and links for node.js developers.

In 2 lists

Twitter

Hashnode

Discord

Resources >Miscellaneous

nodebots

Robots powered by JavaScript.

node-module-boilerplate

Boilerplate to kickstart creating a node module.

In 2 lists

modern-node

Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard.

generator-nm

Scaffold out a node module.

In 2 lists

Microsoft Node.js Guidelines

Tips, tricks, and resources for working with Node.js on Microsoft platforms.

In 4 listsDetails

Module Requests & Ideas

Request a JavaScript module you wish existed or get ideas for modules.

v8-perf

Notes and resources related to V8 and thus Node.js performance.

See category
94

Awesome Rust

rust-unofficial/awesome-rust

A curated list of Rust code and resources.

Fresh★ 60k1833 entriesPushed today
94

Awesome Mac

jaywcjlove/awesome-mac

 This project is dedicated to collecting high-quality macOS software and organizing them systematically by different categories for easy search and use.

Fresh★ 115k1316 entriesPushed today
94

Awesome Python

vinta/awesome-python

Curated Python frameworks, libraries and resources.

Fresh★ 324k504 entriesPushed today
94

Awesome C++

fffaraz/awesome-cpp

A curated list of awesome C++ (or C) frameworks, libraries, resources, and shiny things. Inspired by awesome-... stuff.

Fresh★ 74k1358 entriesPushed yesterday
94

Awesome Go

avelino/awesome-go

Curated Go frameworks and libraries.

Fresh★ 186k3119 entriesPushed yesterday
94

Awesome PHP

ziadoz/awesome-php

A curated list of amazingly awesome PHP libraries, resources and shiny things.

Fresh★ 33k87 entriesPushed 2 days ago