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 18 18.9.0 download

Run JavaScript Everywhere

This is an older version. The current version is 18.20.8. Node.js 18 18.20.8 · Released:

Installer files 18.9.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
- doc
- add daeyeon to collaborators (Daeyeon Jeong) #44355
- lib
- (SEMVER-MINOR) add diagnostics channel for process and worker (theanarkh) #44045
- os
- (SEMVER-MINOR) add machine method (theanarkh) #44416
- report
- (SEMVER-MINOR) expose report public native apis (Chengzhong Wu) #44255
- src
- (SEMVER-MINOR) expose environment RequestInterrupt api (Chengzhong Wu) #44362
- vm
- include vm context in the embedded snapshot (Joyee Cheung) #44252
Commits
- [e27e709d3c] - build: add --libdir flag to configure (Stephen Gallagher) #44361
- [30da2b4d89] - build: added NINJA env to customize ninja binary (Jeff Dickey) #44293
- [3c5354869e] - cluster: fix cluster rr distribute error (theanarkh) #44202
- [5cefd02618] - crypto: handle invalid prepareAsymmetricKey JWK inputs (Filip Skokan) #44475
- [c868e36385] - crypto: add digest name to INVALID_DIGEST errors (Tobias Nießen) #44468
- [35cbe1ad85] - crypto: use actual option name in error message (Tobias Nießen) #44455
- [c3dbe18e4c] - crypto: simplify control flow in HKDF (Tobias Nießen) #44272
- [28781a1f7e] - crypto: improve RSA-PSS digest error messages (Tobias Nießen) #44307
- [b1eafe14fd] - debugger: decrease timeout used to wait for the port to be free (Joyee Cheung) #44359
- [8ef5c40a83] - deps: update corepack to 0.14.0 (Node.js GitHub Bot) #44509
- [cf19a79dfc] - deps: upgrade npm to 8.19.1 (npm team) #44486
- [c5630ad1a7] - deps: V8: backport ff8d67c88449 (Michaël Zasso) #44423
- [255e7fbd08] - deps: update Acorn to v8.8.0 (Michaël Zasso) #44437
- [754d26a53e] - deps: patch V8 to 10.2.154.15 (Michaël Zasso) #44294
- [1b50ff2600] - deps: update icu tzdata to 2022b (Matías Zúñiga) #44283
- [1e451dca99] - deps: upgrade llhttp to 6.0.9 (Paolo Insogna) #44344
- [57da3db522] - deps: update undici to 5.9.1 (Node.js GitHub Bot) #44319
- [1c87a7e8f6] - doc: add missing parenthesis in TLSSocket section (Tobias Nießen) #44512
- [05006eddb2] - doc: do not use "Returns:" for crypto.constants (Tobias Nießen) #44481
- [54b6ed58bc] - doc: use serial comma in addons docs (Tobias Nießen) #44482
- [11452a97b3] - doc: add --update-assert-snapshot to node.1 (Colin Ihrig) #44429
- [ae028e8ac3] - doc: improve assert.snapshot() docs (Colin Ihrig) #44429
- [71c869688a] - doc: add missing imports in events sample code (Brian Evans) #44337
- [92046e8027] - doc: apply scroll-margin-top to h2, h3 elements (metonym) #44414
- [3e6cde5931] - doc: fix spacing issue in --build-snapshot help text (Shohei YOSHIDA) #44435
- [8e41dbb81b] - doc: mention cherry-pick edge-case on release (RafaelGSS) #44408
- [cef30f9afc] - doc: note on release guide to update main branch (Ruy Adorno) #44384
- [21437f7a7f] - doc: fix release guide example consistency (Ruy Adorno) #44385
- [ed52bd0a18] - doc: fix style of n-api.md (theanarkh) #44377
- [65c1f4015f] - doc: add history for net.createServer() options (Luigi Pinca) #44326
- [4a0f750a6c] - doc: add daeyeon to collaborators (Daeyeon Jeong) #44355
- [8cc5556f76] - doc: fix typo in test runner code examples (Moshe Atlow) #44351
- [b660b7467d] - doc,worker: document resourceLimits overrides (Keyhan Vakil) #43992
- [2ed3b30696] - inspector: prevent integer overflow in open() (Tobias Nießen) #44367
- [b8f08e5e7e] - lib: codify findSourceMap return value when not found (Chengzhong Wu) #44397
- [a86ef1ba3e] - lib: use safe Promise alternatives when available (Antoine du Hamel) #43476
- [e519ac7842] - meta: update AUTHORS (Node.js GitHub Bot) #44511
- [c03f28b960] - meta: update AUTHORS (Node.js GitHub Bot) #44422
- [ef08cbddac] - node-api: avoid calling virtual methods in base's dtor (Chengzhong Wu) #44424
- [256340197c] - node-api: cleanup redundant static modifiers (Chengzhong Wu) #44301
- [6714736706] - (SEMVER-MINOR) os: add machine method (theanarkh) #44416
- [807b1e5533] - report: get stack trace with cross origin contexts (Chengzhong Wu) #44398
- [b17cc877d0] - report: fix missing section javascriptHeap on OOMError (Chengzhong Wu) #44398
- [1f23c17ae0] - (SEMVER-MINOR) report: expose report public native apis (Chengzhong Wu) #44255
- [df259005d9] - report: add queue info for udp (theanarkh) #44345
- [fc17b808c9] - src: rename misleading arg in ClientHelloParser (Tobias Nießen) #44500
- [125ab7da2a] - src: improve error handling in CloneSSLCerts (Tobias Nießen) #44410
- [aa34f7347b] - src: fix incorrect comments in crypto (Tobias Nießen) #44470
- [18b720805f] - src: avoid casting std::trunc(... / ...) to size_t (Tobias Nießen) #44467
- [4331bbe2af] - (SEMVER-MINOR) src: expose environment RequestInterrupt api (Chengzhong Wu) #44362
- [c5413a1146] - src: simplify enable_if logic of ToStringHelper::BaseConvert (Feng Yu) #44306
- [dcc1cf4f4e] - src: add error handling to uv_uptime call (Juan José Arboleda) #44386
- [fd611cc272] - src: remove base64_select_table and base64_table (Tobias Nießen) #44425
- [4776b4767b] - src: fix uv_err_name memory leak (theanarkh) #44421
- [8db2e66d3a] - src: make Endianness an enum class (Tobias Nießen) #44411
- [048e440878] - src: fix ssize_t error from nghttp2.h (Darshan Sen) #44393
- [dc1c95ede3] - src: trace fs async api (theanarkh) #44057
- [0f4e98ba2c] - src: restore context default IsCodeGenerationFromStringsAllowed value (Chengzhong Wu) #44324
- [05fb650b54] - src: simplify and optimize GetOpenSSLVersion() (Tobias Nießen) #44395
- [7f16177f96] - src: use if constexpr where appropriate (Anna Henningsen) #44291
- [2be8acad18] - src: simplify ECDH::GetCurves() (Tobias Nießen) #44309
- [3eb7918f8e] - src: make minor improvements to EnabledDebugList (Tobias Nießen) #44350
- [88d9566593] - src: remove KeyObjectData::symmetric_key_len_ (Tobias Nießen) #44346
- [768c9cb872] - src: fix multiple format string bugs (Tobias Nießen) #44314
- [6857ee8299] - src: make minor improvements to SecureBuffer (Tobias Nießen) #44302
- [2facf8b8e0] - stream: fix setting abort reason in ReadableStream.pipeTo() (Daeyeon Jeong) #44418
- [65134d696b] - stream: fix ReadableStreamReader.releaseLock() (Daeyeon Jeong) #44292
- [4c33e5d4ce] - test: avoid race in file write stream handle tests (Joyee Cheung) #44380
- [0d77342a39] - test: style updates for assert.snapshot() (Colin Ihrig) #44429
- [e36ed44b26] - test: deflake child process exec timeout tests (Joyee Cheung) #44390
- [0af15c71fb] - test: make the vm timeout escape tests more lenient (Joyee Cheung) #44433
- [0f071b800e] - test: split heap prof tests (Joyee Cheung) #44388
- [2dd88b8425] - test: fix multiple incorrect mustNotCall() uses (Tobias Nießen) #44022
- [4ae1f4990c] - test: split report OOM tests (Joyee Cheung) #44389
- [3a5fdacdc2] - test: fix WPT runner result (Daeyeon Jeong) #44238
- [e001aafee3] - test: raise sleep times in child process tests (Joyee Cheung) #44375
- [8e2dcafc24] - test: remove duplicate test (Luigi Pinca) #44313
- [c65d7fb1fa] - test: add OpenSSL 3.x providers test (Richard Lau) #44148
- [11e9d6e173] - test: make tmpdir.js importable from esm (Geoffrey Booth) #44322
- [a35c2f9ef4] - test_runner: fix duration_ms to be milliseconds (Moshe Atlow) #44450
- [8175c65b4d] - test_runner: support programmatically running --test (Moshe Atlow) #44241
- [1cdccbc845] - tls: remove SecureContext setFreeListLength (Tobias Nießen) #44300
- [70399166f3] - tls: use OpenSSL constant for client random size (Tobias Nießen) #44305
- [6fe189b62a] - tools: update lint-md-dependencies to rollup@2.79.0 (Node.js GitHub Bot) #44510
- [1e62bb14dd] - tools: fix typo in avoid-prototype-pollution lint rule (Antoine du Hamel) #44446
- [78c6827688] - tools: don't use f-strings in test.py (Santiago Gimeno) #44407
- [443730c419] - tools: update doc to unist-util-visit@4.1.1 (Node.js GitHub Bot) #44370
- [96df99375e] - tools: update eslint to 8.23.0 (Node.js GitHub Bot) #44419
- [b6709544e9] - tools: refactor avoid-prototype-pollution lint rule (Antoine du Hamel) #43476
- [8b0a4afcae] - tty: fix TypeError when stream is closed (Antoine du Hamel) #43803
- [c4a45a93f3] - vm: avoid unnecessary property getter interceptor calls (Joyee Cheung) #44252
- [736a04aa13] - vm: include vm context in the embedded snapshot (Joyee Cheung) #44252
- [bce827e5d1] - vm: make ContextifyContext template context-independent (Joyee Cheung) #44252

https://github.com/nodejs/node/releases/tag/v18.9.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