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

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 withinmodules. Users may not be aware that experimental features are being used.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) .1 - Active development
Modules: CommonJS modules(2) Stable
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) Experimental: This feature is being designed and will change.
Stream(2) Stable
String decoder(2) Stable
Test runner(1) Experimental
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(1) Experimental
Web Streams API(1) Experimental.
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.