Tools · SPBoucher
Menu

Node.js

In-depth entry

by OpenJS Foundation · Language · also known as Node, NodeJS

Server-side JavaScript runtime built on the V8 engine, governed by the OpenJS Foundation, with npm as its package ecosystem

MIT licenseOpen sourceFreeLocalSelf-hostedCloudSelf-hostable

Overview

Node.js is a JavaScript runtime that runs outside the browser, built on Chrome's V8 engine and maintained by the Node.js project under the OpenJS Foundation. It exposes an event-driven, non-blocking I/O model and a standard library for file systems, networking, streams, child processes, cryptography and worker threads. The bundled npm client and registry give access to the largest package ecosystem of any language.

Node is the reference runtime for most JavaScript tooling: bundlers, linters, test runners and frameworks such as Next.js, Express and Hono are developed and tested against it first. Release lines alternate between Current and Long-Term Support, with even-numbered majors receiving roughly thirty months of maintenance, which is why production deployments usually pin an LTS line. Recent releases have added native TypeScript type stripping, a built-in test runner, a permission model, and stable fetch and Web Streams, reducing the need for third-party dependencies in small projects.

Typical deployment runs a process manager such as PM2 or a container per service, often behind a reverse proxy. Node suits I/O-bound services, APIs, build tooling and server-side rendering.

Its limits are structural: a single-threaded event loop means CPU-heavy work must move to worker threads or another language; dependency trees from npm can be large and need auditing; and the ESM/CommonJS module split still causes friction in older packages. Version management across machines typically relies on tools such as nvm, fnm or Volta.

Capabilities

  • Event-driven, non-blocking I/O runtime on V8
  • npm package manager and registry access
  • Standard library for HTTP, file system, streams and crypto
  • Worker threads and child processes for parallelism
  • Built-in test runner and watch mode
  • Native TypeScript type stripping in recent releases
  • LTS release lines with long maintenance windows

Typical workflows

  1. Serve an API or server-rendered web app behind a reverse proxy
  2. Run JavaScript build tooling (bundlers, linters, tests)
  3. Write cross-platform CLI utilities distributed via npm
  4. Keep services alive with PM2 or containers

Strengths

  • Largest package ecosystem via npm
  • Same language on client and server
  • Predictable LTS schedule
  • Permissive MIT license

Limitations

  • Single-threaded event loop; CPU-bound work needs workers
  • Large dependency trees require auditing
  • ESM/CommonJS interoperability friction persists
  • Version drift across machines without a version manager

Prerequisites

  • Installer from nodejs.org, a version manager (nvm, fnm, Volta) or Homebrew

Who it is for

  • Web and API developers
  • Front-end engineers running build tooling
  • DevOps teams deploying JavaScript services

Alternatives & comparison

Bun and Deno are newer JavaScript runtimes that bundle a package manager, test runner and TypeScript execution; both aim at Node compatibility, but Node remains the runtime most packages are tested against. Python is the usual alternative for data-heavy back ends, and Go for services where a static binary and built-in concurrency matter more than sharing code with a browser front end.

  • Bun

    All-in-one JavaScript and TypeScript runtime, package manager, bundler and test runner built on JavaScriptCore by Oven

    Open sourceOpen source
  • Deno

    Secure-by-default JavaScript and TypeScript runtime from Deno Land with web-standard APIs, built-in tooling and an optional hosted Deploy service

    Open sourceOpen source
  • Go

    Statically typed, garbage-collected language from Google that compiles to single binaries and is widely used for servers, CLIs and infrastructure tooling

    Open sourceOpen source
  • Python

    General-purpose, dynamically typed programming language with a large standard library and the dominant ecosystem for data science and machine learning

    Open sourceOpen source
Compare Node.js with its alternatives →

Sources & verification

Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.

Confidence
High
Reviewed
Nov 1, 2026
Links
Broken · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

Homebrew

Homebrew maintainers · macOS system utilities

In-depth entry

Community-maintained package manager for macOS and Linux that installs command-line tools (formulae) and desktop apps (casks) from the terminal

BSD-2-ClauseOpen sourceFreeLocalNov 2, 2026

Swift

Apple Inc. · Swift & SwiftUI development

In-depth entry

Apple's compiled, memory-safe, multi-paradigm language for Apple platforms, Linux, Windows and embedded targets, developed in the open at swift.org

Apache-2.0Open sourceFreeLocalNov 2, 2026

TypeScript

Microsoft · Programming languages & runtimes

In-depth entry

Statically typed superset of JavaScript from Microsoft that compiles to plain JavaScript and powers editor tooling across the web ecosystem

Apache-2.0Open sourceFreeLocalSelf-hostedNov 2, 2026

Lean

Lean FRO · Mathematical & statistical computing

Open-source functional programming language and interactive theorem prover with dependent types, the Mathlib mathematics library and VS Code tooling, stewarded by the Lean FRO

Apache-2.0FreeOpen sourceLocalNov 2, 2026

uv

Astral · Programming languages & runtimes

In-depth entry

Rust-based Python package and project manager from Astral that replaces pip, venv, pip-tools and pyenv with one command-line tool

MIT OR Apache-2.0Open sourceFreeLocalNov 2, 2026

Rust

Rust Foundation / Rust Project · Programming languages & runtimes

Compiled systems programming language with ownership-based memory safety, the Cargo build tool and no garbage collector

MIT OR Apache-2.0Open sourceFreeLocalSelf-hostedNov 2, 2026