Supported Languages

Render natively supports building and running a variety of popular programming languages—and you can use virtually any programming language if you deploy your code as a Docker image.

Native language support

Render’s native runtimes can build and run projects in any of the languages listed below. Just link your GitHub or GitLab repo, choose your service’s runtime, and specify a branch to deploy.

You should specify a language version number for your service. It’s unlikely that Render’s default version for a given language exactly matches the version that you want to use.

Learn how to specify a version for each language in the table below.

LanguageDefault VersionHow to Specify a Version
Node.js14.17.0

Set the NODE_VERSION environment variable, or add a .node-version file to your project root containing only the version number:

18.17.0

For additional options, see Specifying a Node Version.

Python3.7.10

Set the PYTHON_VERSION environment variable.

For details, see Specifying a Python Version.

Ruby2.6.8

Set the ruby directive in your Gemfile, or add a .ruby-version file to your project root containing only the version number:

3.2.2

For details, see Specifying a Ruby Version.

Go1.20

Render’s native Go environment always uses the latest stable Go 1.x version. You can’t set a different version unless you deploy a docker image.

Ruststable

Set the RUSTUP_TOOLCHAIN environment variable, or add a rust-toolchain file to your project root containing only the toolchain version:

beta

For details, see Specifying a Rust Toolchain.

Elixir1.9.4

Set the ELIXIR_VERSION and/or ERLANG_VERSION environment variables.

If you don’t set ERLANG_VERSION, Render automatically uses an Erlang version that’s compatible with your ELIXIR_VERSION.

For details, see Specifying Elixir and Erlang Versions.

To use a language besides those listed above, deploy your code as a Docker image.

Docker support

When you deploy a Docker image on Render, it can use virtually any programming language and framework. This is true regardless of whether you:

Learn more about Docker versus native runtimes.