About this documentation#

Welcome to the official API reference documentation for Node.js!

Node.js is a JavaScript runtime built on theV8 JavaScript engine.

Contributing#

Report errors in this documentation inthe issue tracker. Seethe contributing guide for directions on how to submit pull requests.

Stability index#

Throughout the documentation are indications of a section's stability. Some APIsare so proven and so relied upon that they are unlikely to ever change at all.Others are brand new and experimental, or known to be hazardous.

The stability indexes are as follows:

Stability: 0 - Deprecated. The feature may emit warnings. Backwardcompatibility is not guaranteed.

Stability: 1 - Experimental. The feature is not subject tosemantic versioning rules. Non-backward compatible changes or removal mayoccur in any future release. Use of the feature is not recommended inproduction environments.

Experimental features are subdivided into stages:

  • 1.0 - Early development. Experimental features at this stage are unfinishedand subject to substantial change.
  • 1.1 - Active development. Experimental features at this stage are nearingminimum viability.
  • 1.2 - Release candidate. Experimental features at this stage are hopefullyready to become stable. No further breaking changes are anticipated but maystill occur in response to user feedback. We encourage user testing andfeedback so that we can know that this feature is ready to be marked asstable.

Experimental features leave the experimental status typically either bygraduating to stable, or are removed without a deprecation cycle.

Stability: 2 - Stable. Compatibility with the npm ecosystem is a highpriority.

Stability: 3 - Legacy. Although this feature is unlikely to be removed and isstill covered by semantic versioning guarantees, it is no longer activelymaintained, and other alternatives are available.

Features are marked as legacy rather than being deprecated if their use does noharm, and they are widely relied upon within the npm ecosystem. Bugs found inlegacy features are unlikely to be fixed.

Use caution when making use of Experimental features, particularly whenauthoring libraries. Users may not be aware that experimental features are beingused. Bugs or behavior changes may surprise users when Experimental APImodifications occur. To avoid surprises, use of an Experimental feature may needa command-line flag. Experimental features may also emit awarning.

Stability overview#

APIStability
Assert(2) Stable
Async hooks(1) Experimental
Asynchronous context tracking(2) Stable
Buffer(2) Stable
Child process(2) Stable
Cluster(2) Stable
Console(2) Stable
Crypto(2) Stable
Diagnostics Channel(2) Stable
DNS(2) Stable
Domain(0) Deprecated
File system(2) Stable
HTTP(2) Stable
HTTP/2(2) Stable
HTTPS(2) Stable
Inspector(2) Stable
Modules:node:module API(1) .2 - Release candidate (asynchronous version) Stability: 1.1 - Active development (synchronous version)
Modules: CommonJS modules(2) Stable
Modules: TypeScript(1) .2 - Release candidate
OS(2) Stable
Path(2) Stable
Performance measurement APIs(2) Stable
Punycode(0) Deprecated
Query string(2) Stable
Readline(2) Stable
REPL(2) Stable
Single executable applications(1) .1 - Active development
SQLite(1) .1 - Active development.
Stream(2) Stable
String decoder(2) Stable
Test runner(2) Stable
Timers(2) Stable
TLS (SSL)(2) Stable
Trace events(1) Experimental
TTY(2) Stable
UDP/datagram sockets(2) Stable
URL(2) Stable
Util(2) Stable
VM (executing JavaScript)(2) Stable
Web Crypto API(2) Stable
Web Streams API(2) Stable
WebAssembly System Interface (WASI)(1) Experimental
Worker threads(2) Stable
Zlib(2) Stable

JSON output#

Added in: v0.6.12

Every.html document has a corresponding.json document. This is for IDEsand other utilities that consume the documentation.

System calls and man pages#

Node.js functions which wrap a system call will document that. The docs linkto the corresponding man pages which describe how the system call works.

Most Unix system calls have Windows analogues. Still, behavior differences maybe unavoidable.