VVersions.dev

Modernize Node.js

Operational guides for Node.js: the Node 24 LTS upgrade hub, version-to-version upgrade paths off EOL Node 16/18/20, 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. Node 24 (Krypton) is the current active LTS; Node 22 (Jod) is the maintenance LTS; Node 16, 18, and 20 are all end-of-life. This hub links the Node 24 upgrade path, the moves off EOL Node 18 and 20, and the workflows for the errors those upgrades surface.

What this covers

Start at the Node 24 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

  • 24.x — current, LTS, active (released 2025-05-06 · EOL 2028-04-30)
  • 22.x — LTS, maintenance (released 2024-04-24 · EOL 2027-04-30)
  • 20.x — LTS, eol (released 2023-04-18 · EOL 2026-04-30)
  • 18.x — LTS, eol (released 2022-04-19 · EOL 2025-04-30)
  • 16.x — LTS, eol (released 2021-04-20 · EOL 2023-09-11)

Node.js migration paths

Frequently asked questions

Which Node.js version should I target?

Node 24 (Krypton) is the active LTS and the recommended target; it is supported until April 2028. Node 22 (Jod) is the maintenance LTS and a reasonable fallback if a dependency is not yet Node 24-ready. Node 16, 18, and 20 are all end-of-life and unsupported and should be upgraded. Always target an even-numbered LTS line for production rather than the current odd-numbered release (Node 26).