• Docs
  • Changelog
Sign in
Get started
    • Home
    • Your first deploy
    • Free instances
    • Platform features by plan
    • Use with coding agents
    • FAQ
    • Templates
      • Migrate from…
        • Heroku
        • Railway
    • Compute plans
    • SandboxesBeta
      • Service types
        • Which to use?
        • Static sites
        • Web services
        • Private services
        • Background workers
        • Cron jobs
        • Workflows
        • Multi-service architectures
      • Data storage
        • Render Postgres
        • Render Key Value (Redis®-compatible)
        • Persistent disks
    • How deploys work
    • Supported languages
    • Git providers (GitHub, etc.)
    • Build pipeline
    • Deploy hooks
    • Monorepo support
    • Troubleshooting deploys
      • Previewing changes
        • Single-service previews
        • Preview environments (multi-service)
      • Docker deploys
        • Overview
        • Deploy a registered image
        • Using secrets
      • Runtime
        • Native runtimes
        • Environment variables & secrets
        • Default environment variables
    • Intro to sandboxes
    • Limits
      • How to…
        • Create & configure sandboxes
        • Execute commands
        • Manage files
        • Manage snapshots
      • Use with…
        • Claude Managed Agents
        • Cursor Cloud Agents
        • OpenAI Agents API
      • SDK/CLI reference
        • TypeScript SDK
        • Python SDK
        • CLI commands
    • Intro to workflows
    • Tutorial
    • Limits & pricing
      • How to…
        • Define tasks
        • Define flowsNew
        • Trigger runs
        • Develop locally
      • SDK reference
        • TypeScript SDK
        • Python SDK
      • Example workflows
        • TypeScript examples
        • Python examples
    • Overview
    • Create & connect
    • Database credentials
    • Extensions
    • Version upgrades
    • Logical replication
    • Legacy instance types
      • Database recovery
        • Recovery & backups
        • High availability
      • Database performance
        • Read replicas
        • Connection pooling
        • Admin apps
        • Repacking tables
        • Troubleshooting performance
    • Regions
    • Inbound IP rules
    • Edge caching
    • WebSockets
    • TLS certificates
      • Custom domains
        • Overview
        • Cloudflare
        • Namecheap
        • Other DNS providers
      • Internal traffic
        • Private network
        • Private links
      • Outbound traffic
        • Default IP ranges
        • Dedicated IP addresses
        • Outbound bandwidth
        • Handling network changes
      • Static site config
        • Custom response headers
        • Redirects & rewrites
    • The Render Dashboard
    • SSH / Shell access
    • Projects & environments
      • Service actions
        • Scaling
        • Rollbacks
        • Maintenance mode
        • One-off jobs
      • Infrastructure as code
        • Blueprints overview
        • render.yaml reference
        • Terraform provider
    • In-dashboard metrics
    • Health checks
    • Uptime best practices
      • Logging
        • In-dashboard logs
        • Log streams (syslog/HTTPS)
      • OpenTelemetry (OTel) metrics
        • Provider setup
        • Metrics reference
      • Notifications
        • Webhooks
        • Email / Slack
    • MCP Server
      • Render CLI
        • Overview
        • Command reference
      • REST API
        • Overview
        • API reference
      • Third-party connections
        • OIDC support
        • Datadog
    • Workspaces, members, & roles
    • Login settings
    • Audit logs
      • Organizations
        • Overview
        • SAML SSO
    • DDoS protection
    • Platform maintenance
      • Compliance
        • Overview
        • HIPAA (US health data)
        • HIPAA best practices
        • Shared responsibility model
        • Pentest policy
    • Heroku vs Render
    • Vercel vs Render

Setting Your Node.js Version

Current default Node.js version

24.22.1

Services created before 2026-10-21 have a different default version. See below.

Set a different Node.js version in any of the following ways (in descending order of precedence):

  1. Set the NODE_VERSION environment variable for your service in the Render Dashboard:

    Setting the NODE_VERSION environment variable

  2. Add a file named .node-version to the root of your repo. This file contains a single line with the version to use:

  3. Add a file named .nvmrc to the root of your repo. This file uses the same format as .node-version.

  4. Specify a Node.js version range in your package.json file, under the engines property:

    If there isn't a package.json file in your repo's root directory, Render uses the first package.json file it finds in a subdirectory.

    Always include an upper bound in your version range.

    An unbounded range (such as >=20) always resolves to the latest release of Node.js, which increments its major version over time. This might result in unexpected behavior or incompatibilities with your development version.

You can specify either a semantic version number (such as 18.18.0) or an alias (such as lts).

Render uses the node-version-alias module to resolve version aliases and semver ranges.

History of default Node.js versions

If you don't set a Node.js version for your service, Render's default version depends on when you originally created the service:

Service Creation DateDefault Node.js Version
2026-10-21 and later24.22.1
2026-09-17 to 2026-10-2124.21.0
2026-04-21 to 2026-09-1724.14.1
2026-01-14 to 2026-04-2122.22.0
2025-06-12 to 2026-01-1422.16.0
2024-12-16 to 2025-06-1222.12.0
2024-11-24 to 2024-12-1622.11.0
2024-10-30 to 2024-11-2422.10.0
2024-07-09 to 2024-10-3020.15.1
2024-04-17 to 2024-07-0920.12.2
2024-04-04 to 2024-04-1720.12.1
2024-03-27 to 2024-04-0420.12.0
2024-02-23 to 2024-03-2720.11.1
2023-11-29 to 2024-02-2320.10.0
Before 2023-11-0114.17.0

Setting Your Node.js Version
  • History of default Node.js versions
All Systems Operational
© Render Inc. All rights reserved.