Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

Node.js 16 16.12.0 download

Run JavaScript Everywhere

This is an older version. The current version is 16.20.2. Node.js 16 16.20.2 · Released:

Installer files 16.12.0

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit MSI All users — nodejs.org VirusTotal
64-bit ZIP → Portable — — nodejs.org VirusTotal
32-bit MSI All users — nodejs.org VirusTotal
32-bit ZIP → Portable — — nodejs.org VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

Notable Changes
Experimental ESM Loader Hooks API
Node.js ESM Loader hooks have been consolidated to represent the steps involved needed to facilitate future loader chaining:
1. resolve: resolve [+ getFormat]
2. load: getFormat + getSource + transformSource
For consistency, getGlobalPreloadCode has been renamed to globalPreload.
A loader exporting obsolete hook(s) will trigger a single deprecation warning (per loader) listing the errant hooks.
Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias - https://github.com/nodejs/node/pull/37468
Other Notable Changes
- [8fdabcb918] - deps: upgrade npm to 8.1.0 (npm team) #40463
- [d1d9f2de30] - doc: deprecate (doc-only) http abort related (dr-js) #36670
- [4116b6c907] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Commits
- [8bb3951e41] - build: remove duplicate check for authors.yml (Rich Trott) #40393
- [2de57edced] - build: make scripts in gyp run with right python (Cheng Zhao) #39730
- [a8926d199d] - crypto: remove incorrect constructor invocation (gc) #40300
- [8fdabcb918] - deps: upgrade npm to 8.1.0 (npm team) #40463
- [dca5ac1539] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343
- [91c3bf6a7f] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374
- [7e02124a06] - dgram: add nread assertion to UDPWrap::OnRecv (Darshan Sen) #40295
- [2d409ed29e] - dns: refactor and use validators (Voltrex) #40022
- [dc7291dab8] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408
- [85b7385115] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412
- [1d5857c9f4] - doc: format changelogs (Rich Trott) #40388
- [5eb9402b50] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396
- [6f77d1a1d5] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381
- [93a48e02dc] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402
- [fb7afb91c2] - doc: format doc/guides using format-md task (Rich Trott) #40358
- [6c091c7878] - doc: improve phrasing in fs.md (Arslan Ali) #40255
- [38d81380ac] - doc: add link to core promises tracking issue (Michael Dawson) #40355
- [71a94aa82a] - doc: correct ESM load hook table header (Jacob Smith) #40234
- [5b074affb4] - doc: fix typo in esm.md (Mason Malone) #40273
- [3b3aaa0a37] - doc: fix typo in ESM example (Tobias Nießen) #40275
- [f848553fb8] - doc: assign missing deprecation number (Michaël Zasso) #40324
- [d1d9f2de30] - doc: deprecate (doc-only) http abort related (dr-js) #36670
- [1ef2cf8413] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304
- [3743406b0a] - (SEMVER-MINOR) esm: consolidate ESM loader hooks (Jacob Smith) #37468
- [168020e1c8] - lib: refactor to use let (gdccwxx) #40364
- [bcd59d70bb] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420
- [80b4245db8] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406
- [93cecb4700] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391
- [fff3135909] - meta: update AUTHORS (Node.js GitHub Bot) #40392
- [122481713d] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387
- [7f50313fcc] - meta: update label-pr-config (Mestery) #40199
- [5668182665] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367
- [bc86084a3e] - net: check if option is undefined (Daijiro Wachi) #40344
- [4564a93e5e] - net: remove unused ObjectKeys (Daijiro Wachi) #40344
- [dbb2e6f429] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344
- [a672be57c8] - net: throw error to object mode in Socket (Daijiro Wachi) #40344
- [faf9e28c36] - src: remove usage of AllocatedBuffer from stream_* (Darshan Sen) #40293
- [857af2ba99] - src: add missing initialization (Michael Dawson) #40370
- [2bfa87edbc] - stream: fix fromAsyncGen (Robert Nagy) #40499
- [1e15137e71] - test: replace common port with specific number (Daijiro Wachi) #40344
- [6f6b99c302] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389
- [641b1bb052] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359
- [07dae7ff50] - test: replace .then chains with await (gdccwxx) #40348
- [d8a36ee1de] - test: fix "test/common/debugger" identify async function (gdccwxx) #40348
- [13d6a56c7d] - test: improve test coverage of fs.ReadStream with FileHandle (Antoine du Hamel) #40018
- [50f91ab059] - tools: udpate @babel/eslint-parser (Rich Trott) #40394
- [3611073145] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394
- [b72d693a3a] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394
- [d6a99b77da] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394
- [d9157aa5fe] - tools: update ESLint to 8.0.0 (Rich Trott) #40394
- [43b97c7984] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394
- [282b6eb4b0] - tools: fix ESLint update scripts (Rich Trott) #40394
- [c3a744f7bf] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304
- [7733b5e55d] - typings: define types for os binding (Michaël Zasso) #40222
- [ca9a854877] - typings: add missing types to options and util bindings (Michaël Zasso) #40222
- [c3a7a0bd59] - typings: define types for timers binding (Michaël Zasso) #40222
- [65b51d05fa] - typings: fix declaration of primordials (Michaël Zasso) #40222
- [5f3f3a5128] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226
- [4116b6c907] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249

https://github.com/nodejs/node/releases/tag/v16.12.0

Most popular in IDEs & code editors

See all
  1. OpenCodeOpenCode is an open source agent that helps you write and run code with any AI model. It's available as a terminal-based interface, desktop app, or IDE extension.
  2. RStudioRStudio is an integrated development environment (IDE) for R.
  3. Node.js (LTS)Run JavaScript Everywhere
  4. Apache NetBeansDevelopment Environment, Tooling Platform and Application Framework.
  5. VSCodiumVSCodium is a community-driven, freely-licensed and telemetry-free rebuilt of Microsoft's Visual Studio Code.
  6. HaxeHaxe is an open source high-level strictly-typed programming language with a fast optimizing cross-compiler.
  7. ThonnyThonny is a Python IDE meant for learning programming.
  8. GDevelopThe fastest, easiest, most powerful no-code game engine.
  9. mkcertA simple zero-config tool to make locally trusted development certificates with any names you'd like.
  10. ProcessingA language and environment for creative coding

More from Node.js Foundation

See all

Tags

Share