Your first time on this page? Allow me to give some explanations.
Awesome Node.js
Delightful Node.js packages and resources
Here you can see meta information about this topic like the time we last updated this page, the original creator of the awesome list and a link to the original GitHub repository.
Thank you sindresorhus & contributors
View Topic on GitHub:
sindresorhus/awesome-nodejs
Search for resources by name or description.
Simply type in what you are looking for and the results will be filtered on the fly.
Further filter the resources on this page by type (repository/other resource), number of stars on GitHub and time of last commit in months.
Delightful Node.js packages and resources
Official
Node.js JavaScript runtime
Mad science
⚡️ Streaming torrent client for the web
Streaming torrent client for node.js
Node module for creating dat compatible tools on file systems
IPFS implementation in JavaScript
all of wikipedia on bittorrent
torrent-stream + chromecast
A javascript Bitcoin library for node.js and browsers.
A full stack for bitcoin and blockchain-based applications
A JavaScript PDF generation library for Node and the browser
A modular geospatial engine written in JavaScript
Mad science p2p pipe across the web using webrtc that uses your Github private/public key for authentication and a signalhub for discovery
Lightweight operating system using Node.js as userspace
Yet another Linux distribution for voice-enabled IoT and embrace Web standards
🤖 GPU accelerated Neural networks in JavaScript for Browsers and Node.js
Machine learning platform for Web developers
Graph theory (network) library for visualisation and analysis
Temporary peer to peer screenshot sharing from your browser.
A JavaScript implementation of Git.
High performance distributed data processing engine
SheetJS Community Edition -- Spreadsheet Data Toolkit
A pure JavaScript implementation of git for node and browsers!
Command-line apps
A better npm publish
Check whether a package or organization name is available on npm
Open the GitHub page of the given or current directory repo
Open the npm page, Yarn page, or GitHub repo of a package
Move files and directories to the trash
Test your internet connection speed and ping using speedtest.net from the CLI
Find relevant emoji from text on the command-line
Capture website screenshots
Copy files
Wow such top. So stats. More better than regular top.
Empty the trash
Check whether a website is up or down
Check if the internet connection is up
Get your public IP address - very fast!
Access the system clipboard (copy/paste)
❤️ JavaScript linter with great defaults
🌟 JavaScript Style Guide, with linter & automatic code fixer
Find and fix problems in your JavaScript code.
Get the current local time of a GitHub user.
Node.js module that tells you when your package npm dependencies are out of date.
a simple zero-configuration command-line http server
A simple development http server with live reload capability.
A pipe to browser utility
Translations with speech synthesis in your terminal as a node package
Fabulously kill processes. Cross-platform.
Pipeable javascript. Quickly filter, map, and reduce from the terminal
Check NPM package licenses
The easiest way of running code in a browser environment
Add stdin support to any CLI app that accepts file input
Get current wifi password
Manage the desktop wallpaper
Change the screen brightness
download torrents with node from the CLI
Kill all Chrome tabs to improve performance, decrease battery usage, and save memory
Catch insensitive, inconsiderate writing
We need a better Markdown previewer.
Painless subtitle downloader
Control the macOS dark mode from the command-line
commandline IP location finder
Make your JSON look AWESOME
Control iTunes via CLI
Mobile icon generator
Mobile app splash screen generator
Pretty diff to html javascript cli (diff2html-cli)
Cross-platform Linux commands in ES6
➰ It's never been easier to try nodejs modules!
Copy/paste detector for programming source code.
Mock data for your prototypes and demos. Remote deployments to Zeit now.
Install dependencies as you code ⚡️
A small markdown viewer/converter for unix terminal.
Find out which of your dependencies are slowing you down 🐢
expose yourself
Share terminal sessions via SVG and CSS
System monitoring dashboard for terminal
🎨 themer takes a set of colors and generates themes for your apps (editors, terminals, wallpapers, and more).
🎨 Beautiful images of your code — from right inside your terminal.
💰💰 Convert currency rates directly from your terminal!
Tasks, boards & notes for the command-line habitat
⚡️ A simple, easy way to deploy static websites to Amazon S3.
List any node_modules directories in your system, as well as the space they take up. You can then select which ones you want to erase to free up space.
Functional programming
A modern JavaScript utility library delivering modularity, performance, & extras.
Immutable persistent data collections for Javascript which increase efficiency and simplicity.
Practical functional Javascript
A standard library for functional programming in JavaScript
Modular JavaScript Utilities
Functional reactive programming library for TypeScript and JavaScript
A reactive programming library for JavaScript
Like Underscore, but lazier
A Reactive Programming library for JavaScript
HTTP
🌐 Human-friendly and powerful HTTP request library for Node.js
Convenience wrapper for Got to interact with the GitHub API
Promise based HTTP client for the browser and node.js
HTTP Client Utilities
Download and extract files
A full-featured http proxy for node.js
Ajax for Node.js and browsers (JS HTTP client)
A light-weight module that brings the Fetch API to Node.js
A fully-featured Node.js REST client built for ease-of-use and resilience
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Wrap native HTTP requests with RFC compliant cache support
GraphQL query utility for serverside apps
Global HTTP/HTTPS proxy agent configurable using environment variables.
Simple yet powerful file-based mock server with recording abilities
Debugging / Profiling
ndb is an improved debugging experience for Node.js, enabled by Chrome DevTools
Debug Node.js code with Chrome Developer Tools.
Node.js debugger based on Blink Developer Tools
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
Node is running but you don't know why? why-is-node-running is here to help you.
A Node.js tracing and instrumentation utility
instrumented streams
He is like Batman, but for Node.js stack traces
Locus is a debugging module for node.js
🔥 single-command flamegraph profiling 🔥
Well-formatted and improved trace system calls and signals (when the debugger does not help)
🐛 Memory leak testing for node.
An lldb plugin for Node.js and V8, which enables inspection of JavaScript states for insights into Node.js processes and their core dumps.
thetool is a CLI tool to capture different cpu, memory and other profiles for your node app in Chrome DevTools friendly format
API Observability. Trace API calls and Monitor API performance, health and usage statistics in Node.js Microservices.
Streamline Your Node.js Debugging Workflow with Chromium (Chrome, Edge, More) DevTools.
Logging
🌲 super fast, all natural json logger 🌲
A logger for just about everything.
The most simple logger imaginable
End-to-end, hierarchical, real-time, colorful logs and stories
Highly configurable logging utility
Elegant Console Logger for Node.js and Browser 🐨
Command-line utilities
🖍 Terminal string styling done right
🐈 CLI app helper
yargs the modern, pirate-themed successor to optimist.
Elegant terminal spinner
Get stdin as a string or buffer
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
🌈 React for interactive command-line apps
Terminal task list
Simple config handling for your app or module
ANSI escape codes for manipulating the terminal
Colored symbols for various log levels
Unicode symbols with Windows CMD fallbacks
Create boxes in the terminal
Create clickable links in the terminal
Display images in the terminal
Get the visual width of a string - the number of columns required to display it
Truncate a string to a specific width in the terminal
Check if it's the first time the process is run
A high-level terminal interface library for node.js.
A collection of common interactive command line user interfaces.
Parse yes/no like values
Pretty unicode tables for the command line
Drawing in terminal with unicode braille characters
Update notifications for your CLI app
Ansi charts for nodejs
Flexible ascii progress bar for nodejs
Node.js module to help you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics
Toggle the CLI cursor
Create text-based columns suitable for console output. Supports cell wrapping.
Columnated lists for the CLI. Unicode and ANSI safe.
Sexy fonts for the console
Multiple, simultaneous, individually controllable spinners for concurrent tasks in Node.js CLI programs
Omelette is a simple, template based autocompletion tool for Node and Deno projects with super easy API. (For Bash, Zsh and Fish)
🔀 Cross platform setting of environment scripts
Portable Unix shell commands for Node.js
Block users from running your app with root permissions
Make unhandled promise rejections fail loudly instead of the default silent fail
Generate sparklines ▁▂▃▅▂▇
Build, distribute, and collaborate on components.
Beautiful color gradients in terminal output
Node.js Open CLI Framework. Built with 💜 by Heroku.
Reliably get the terminal window size
NodeJS Framework for Interactive CLIs
Build tools
📦🚀 Blazing fast, zero configuration web application bundler
A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
Next-generation ES module bundler
A toolkit to automate & enhance your workflow
Browser compilation library – an asset pipeline for applications that run in the browser
Web applications made easy. Since 2011.
Functional task runner for Node.js
Task toolkit. For when npm run
isn't enough and everything else is too much.
A blazing fast js bundler/loader with a comprehensive API
Package your Node.js project into an executable
Hardware
JavaScript Robotics and IoT programming framework, developed at Bocoup.
Access serial ports with JavaScript. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!
Improved USB library for Node.js
I2C serial bus access with Node.js
GPIO access and interrupt detection with Node.js
SPI serial bus access with Node.js
Fast GPIO, PWM, servo control, state change notification and interrupt handling with Node.js on the Raspberry Pi
A NMEA parser and GPS utility library
Templating
A declarative, HTML-based language that makes building web apps fun
A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired)
Embedded JavaScript templates -- http://ejs.co
Pug – robust, elegant, feature rich template engine for Node.js
Web frameworks
The Simple, Secure Framework Developers Trust
Expressive middleware for node.js using ES2017 async functions
Fast, unopinionated, minimalist web framework for node.
A framework for real-time applications and REST APIs with JavaScript and TypeScript
LoopBack makes it easy to build modern applications that require complex integrations.
Meteor, the JavaScript App Platform
The future of Node.js REST development
Use full ES2015+ features to develop Node.js applications, Support TypeScript.
Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
The React Framework
The Intuitive Vue Framework
A microservices toolkit for Node.js.
🔬 Writing reliable & fault-tolerant microservices in Node.js https://hemerajs.github.io/hemera/
Asynchronous HTTP microservices
Fast and low overhead web framework, for Node.js
A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications on top of TypeScript & JavaScript (ES6, ES7, ES8) 🚀
Zeronode - minimal building block for NodeJS microservices
Create GraphQL schema and resolvers with TypeScript, using classes and decorators!
⚡ 0-legacy, tiny & fast web framework as a replacement of Express
Marble.js - functional reactive Node.js framework for building server-side applications, based on TypeScript and RxJS.
A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container.
Documentation
documentation for modern JavaScript
ESDoc - Good Documentation for JavaScript
Literate Programming can be Quick and Dirty.
An API documentation generator for JavaScript.
Easy to maintain open source documentation websites.
Filesystem
Delete files and directories
User-friendly glob matching
Copy files
A rm -rf
util for nodejs
Make a directory and its parents if needed - Think mkdir -p
fs with incremental backoff on EMFILE
Minimal and efficient cross-platform file watching library
Find a file or directory by walking up parent directories
An inter-process and inter-machine lockfile utility that works on a local or network file system.
Read and parse a JSON file
Stringify and write JSON to a file atomically
Like fs.createWriteStream(...)
, but atomic.
Convert a string to a valid safe filename
Safely force create symlinks
Determine if a filename and/or buffer is text or binary. Smarter detection than the other solutions.
Better file system API for Node.js
Node.js: extra methods for the fs object like copy(), remove(), mkdirs()
Find the root directory of a Node.js project or npm package
Flexible and fluent interface for searching the file system
Move a file - Even works across devices
Get a random temporary file or directory path
Control flow
Bluebird is a full featured promise library with unmatched performance.
Promisify a callback-style function
Delay a promise a specified amount of time
Memoize promise-returning functions. Includes cache expire and prefetch.
Limit the execution rate of a function
Map over promises concurrently
Promise packages, patterns, chat, and tutorials
An Implementation of Observables for Javascript
A reactive programming library for JavaScript
Awesome Observable related stuff - An Observable is a collection that arrives over time.
High-level streams library for Node.js and the browser
Async concurrent iterator (async forEach)
Async utilities for node and the browser
CSP channels for Javascript (like Clojurescript's core.async, or Go)
Streams
Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise
Convenience wrapper for ReadableStream, with an API lifted from "from" and "through2"
Get a stream as a string, buffer, or array
Convert a string/promise/array/iterable/asynciterable/buffer/typedarray/arraybuffer/object into a stream
Turn a writable and readable stream into a streams2 duplex stream with support for async initialization and streams1/streams2 input
Combine an array of streams into a single duplex stream using pump and duplexify
Transform stream that lets you peek the first line before deciding how to parse it
a fast newline (or any delimiter) splitter stream - like require('split') but specific for binary data
Line-by-line Stream reader for node.js
Transform the first chunk in a stream
Pad each line in a stream
A stream that emits multiple other streams one after another (streams3)
Node-core streams for userland
Simple Node.JS stream (streams2) Transform that runs the transform functions concurrently (with a set max concurrency)
Real-time
Simple, secure & standards compliant web server for the most demanding of applications
Realtime application framework (Node.JS server)
Simple pub/sub messaging for the web
Highly scalable realtime framework
Primus, the creator god of the transformers & an abstraction layer for real-time to prevent module lock-in.
The Browser / Node.js Client for deepstream.io
The socket manager
The MQTT client for Node.js and the browser
JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript/TypeScript
Barebone MQTT broker that can run on any stream server, the node way
Image
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
Detect the image type of a Buffer/Uint8Array
GraphicsMagick for node
Light Weight Image Processor for NodeJS
Resize image in browser with high quality and high speed
An image processing library written entirely in JavaScript for Node, with zero external or native dependencies.
Get image size without full download. Supported image types: JPG, GIF, PNG, WebP, BMP, TIFF, SVG, PSD, ICO.
qr code generator
Text
Convert character encodings in pure javascript.
Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes
Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar
Escape RegExp special characters
Find multiple RegExp matches in a string
Remove or replace part of a string like Array#splice
Indent each line in a string
Strip leading whitespace from each line in a string
Detect the indentation of code
A robust HTML entity encoder/decoder written in JavaScript.
Lightweight simple translation module for node.js / express.js with dynamic json storage. Uses common __('...') syntax in app and templates.
human friendly i18n for javascript (node.js + browser)
Simple wildcard matching
Replace all homoglyphs with base characters. Useful to detect similar strings.
i18next: learn once - translate everywhere
A tiny (108 bytes), secure, URL-friendly, unique string ID generator for JavaScript
Hide secrets with invisible characters in plain text securely using passwords 🧙🏻♂️⭐
Number
Generate a random integer
Generate a random float
Generate random numbers that are consecutively unique
Round a number to a specific number of decimal places: 1.234 → 1.2
Math
📈 Multidimensional arrays for JavaScript
An extensive math library for JavaScript and Node.js
Clamp a number
means completeness and balancing, from the Arabic word الجبر
WebAssembly wrapper to simplify fast math coding
Date
⏱ A library for working with dates and times in JS
⏳ Modern JavaScript date utility library ⌛️
⏰ Day.js 2KB immutable date-time library alternative to Moment.js with the same modern API
A node.js package for Steven Levithan's excellent dateFormat() function.
Format a date with timezone
⚡️ Fast parsing, formatting and timezone manipulations for dates
URL
Normalize a URL
Humanize a URL: https://sindresorhus.com → sindresorhus.com
Short links expander for node.js
Generate a slug – transliteration with a lot of options
Links recognition library with full unicode support
easier than regex string matching patterns for urls and other strings. turn strings into data or data into strings.
Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.
Data validation
The most powerful data validation library for JS
A JSONSchema validator that uses code generation to be extremely fast
Easy property validation for JavaScript, Node and Express.
Schema-Inspector is an JSON API sanitisation and validation module.
The fastest JSON schema Validator. Supports JSON Schema draft-04/06/07/2019-09 and JSON Type Definition (RFC8927)
A simple and composable way to validate data in JavaScript (and TypeScript).
Parsing
Markdown processor powered by plugins part of the @unifiedjs collective
Markdown parser, done right. 100% CommonMark support, extensions, syntax plugins & high speed
HTML parsing/serialization toolset for Node.js. WHATWG HTML Living Standard (aka HTML5)-compliant.
Strip comments from JSON. Lets you use comments in your JSON files!
Strip comments from CSS
Parse JSON with more helpful errors
Javascript URL mutation library
Transforming styles with JS plugins
rawStream.pipe(JSONStream.parse()).pipe(streamOfObjects)
Fast CSV parser
Streaming csv parser inspired by binary-csv that aims to be faster than everyone else
PEG.js: Parser generator for JavaScript