Node.js Built-in Modules Reference

Node.js is a powerful runtime environment that enables developers to write server-side applications using JavaScript. One of its most compelling features is its rich library of built-in modules—pre-packaged tools that provide essential functionality without requiring external dependencies. These modules are part of the Node.js core and are available immediately upon installation, making them indispensable for building fast, scalable, and maintainable backend systems.

Built-in modules cover a wide range of capabilities, from file system access and network communication to cryptography, compression, and performance monitoring. For backend developers, they offer low-level control and high-level abstractions that simplify complex tasks. For educators and technical writers, they provide a consistent foundation for teaching core concepts like asynchronous programming, event-driven architecture, and system-level operations.

Take the fs module, for example. It allows developers to read, write, and manipulate files—an essential skill for logging, configuration, and data storage. The http and https modules enable the creation of web servers and clients, giving learners a hands-on understanding of how requests and responses are handled. Modules like path and os help normalize file paths and retrieve system information, ensuring cross-platform compatibility and performance awareness.

Security and data integrity are addressed through modules like crypto, which supports hashing, encryption, and secure random generation. The buffer module allows direct manipulation of binary data, which is crucial for handling streams, encoding, and low-level networking. These tools are especially relevant in authentication systems, secure APIs, and real-time applications.

Node.js also supports concurrency and parallelism through modules like child_process, cluster, and worker_threads. These allow developers to spawn subprocesses, distribute workloads across CPU cores, and run threads for intensive computation—all without blocking the main event loop. For performance tuning, the perf_hooks module provides precise timing metrics, while diagnostics_channel and inspector offer advanced debugging capabilities.

The modular design of Node.js encourages clean architecture and separation of concerns. Each built-in module encapsulates specific functionality, and developers can import only what they need using require() or ES6 import syntax. This promotes maintainability and scalability, especially in large applications or educational projects where clarity and structure are paramount.

Recent versions of Node.js have also embraced browser-like APIs, introducing global support for fetch(), URL, TextEncoder, and AbortController. These additions make Node.js more accessible to frontend developers and simplify full-stack development by aligning server-side code with familiar client-side patterns.

This reference guide is designed to provide a structured overview of Node.js built-in modules, complete with descriptions, examples, and contextual usage. Whether you’re scaffolding a tutorial, building a CRUD app, or teaching backend fundamentals, these modules will help you write expressive, efficient, and reliable code. By mastering them, you’ll unlock the full potential of Node.js and gain deeper insight into how modern server-side applications are built and optimized.

Absolutely, Trish! Here’s a structured and up-to-date Node.js Built-in Modules Reference—perfect for backend development, educational content, and tutorial scaffolding. These modules are available out-of-the-box with Node.js and require no additional installation.

Node.js Built-in Modules (2025 Edition)

System & Utility Modules

ModuleDescription
fsFile system operations (read, write, delete files)
pathFile path utilities (join, resolve, parse)
osSystem-level info (CPU, memory, platform)
utilUtility functions (promisify, types, inheritance)
processRuntime process control (env, argv, exit)
v8Access V8 engine internals (heap stats, snapshots)
vmRun code in isolated virtual contexts

Networking & Web

ModuleDescription
httpCreate HTTP servers and clients
httpsSecure HTTP (SSL/TLS) support
netTCP servers and clients
dnsDNS resolution and lookups
dgramUDP datagram sockets
tlsTLS/SSL protocol implementation

Security & Data

ModuleDescription
cryptoHashing, encryption, and secure random values
bufferBinary data manipulation
string_decoderDecode buffers into readable strings
zlibCompression and decompression (gzip, deflate)

Process & Performance

ModuleDescription
child_processSpawn and manage subprocesses
clusterCreate multi-process servers
perf_hooksMeasure performance timings
worker_threadsRun threads for parallel execution

Events & Streams

ModuleDescription
eventsEventEmitter class for async patterns
streamReadable, writable, duplex, and transform streams
readlineRead input line-by-line from streams (e.g., CLI)

Web & URL Handling

ModuleDescription
urlParse and format URLs
querystringParse and stringify query strings
punycodeEncode Unicode for domain names (deprecated)

Testing & Debugging

ModuleDescription
assertAssertion testing for unit tests
diagnostics_channelPublish/subscribe diagnostics
inspectorDebugging interface for Chrome DevTools

ECMAScript-style Globals (Node.js v20+)

Node.js now supports several browser-like APIs globally:

  • fetch() – Native HTTP requests
  • AbortController – Cancel async operations
  • URL, URLSearchParams – URL parsing and manipulation
  • TextEncoder, TextDecoder – UTF-8 encoding/decoding
  • structuredClone() – Deep object cloning