Modernize Node.js
Operational guides for Node.js: the Node 20 LTS upgrade hub, version-to-version upgrade paths off EOL Node 16/18, CommonJS-to-ESM modernization, and fixing dependency errors.
Last verified · Updated May 22, 2026
Node.js even-numbered majors become LTS and then reach end-of-life on a fixed cadence, so staying current is a recurring, security-driven task. This hub links the Node 20 upgrade path, the moves off EOL Node 16 and maintenance Node 18, and the workflows for the errors those upgrades surface.
What this covers
Start at the Node 20 upgrade hub for the full LTS picture, then pick the source-to-target page that matches the version you run today. Adopting ECMAScript modules is covered separately in the CommonJS-to-ESM guide. Each page includes a repo-inspection prompt, step-by-step migration, a test plan, and rollback guidance.
Version timeline
- 20.xcurrentLTSactivereleased 2023-04-18
- 18.xLTSmaintenancereleased 2022-04-19 · EOL 2025-04-30
- 16.xLTSeolreleased 2021-04-20 · EOL 2023-09-11
Node.js migration paths
- Migrate Node.js CommonJS to ES Modulesmedium riskMigration
- Node.js 16 to Node.js 20 Migration Guidehigh riskVersion path
- Node.js 18 to Node.js 20 Migration Guidemedium riskVersion path
- Upgrade to Node.js 20medium riskUpgrade hub
- Upgrade to Node.js 20medium riskVersion path
- Fix Node.js Dependency Errorsmedium riskWorkflow
Frequently asked questions
Which Node.js version should I target?
Node 20 is the active LTS and the recommended target. Node 16 is end-of-life and unsupported, and Node 18 is in maintenance with a 2025 EOL — both should move to 20. Always target an even-numbered LTS line for production rather than the current odd-numbered release.