Edit

Share via


Supported languages in Azure Functions

This article explains the levels of support offered for your preferred language when you use Azure Functions. It also describes strategies for creating function apps when you use languages that aren't natively supported.

There are two levels of support:

  • Generally available (GA) - Fully supported and approved for production use.
  • Preview - Not yet supported, but expected to reach GA status in the future.

Languages by runtime version

Make sure to select your preferred development language at the top of the article.

The following table shows the .NET versions supported by Azure Functions.

The supported version of .NET depends on both your Functions runtime version and your selected execution model.

Your function app code runs in a separate .NET worker process. Use with supported versions of .NET and .NET Framework. For more information, see Guide for running C# Azure Functions in the isolated worker model.

Supported version Support level Expected end-of-support date
.NET 10 Preview See .NET and .NET Core release lifecycle.
.NET 9 GA May 12, 2026
.NET 8 GA November 10, 2026
.NET Framework 4.8.1 GA See .NET Framework Support Policy.

.NET 6 was previously supported by the isolated worker model but reached the end of official support on November 12, 2024.

.NET 7 was previously supported by the isolated worker model but reached the end of official support on May 14, 2024.

For more information, see Guide for running C# Azure Functions in the isolated worker model.

The following table shows the language versions supported for Java function apps:

Supported version Support level Supported until
Java 21 GA See Release and servicing roadmap.
Java 17 GA See Release and servicing roadmap.
Java 11 GA See Release and servicing roadmap.
Java 8 GA See the Temurin support page.

For more information on developing and running Java function apps, see Azure Functions Java developer guide.

The following table shows the language versions supported for Node.js function apps:

Supported version Support level Expected end-of-support date
Node.js 22 GA April 30, 2027
Node.js 20 GA April 30, 2026

TypeScript is supported through transpiling to JavaScript. For more information, see Azure Functions Node.js developer guide.

The following table shows the language version supported for PowerShell function apps:

Supported version Support level Expected end-of-support date
PowerShell 7.4 GA November 10, 2026

For more information, see Azure Functions PowerShell developer guide.

The following table shows the language versions supported for Python function apps:

Supported version Support level Expected end-of-support date
Python 3.13 Preview October 2029
Python 3.12 GA October 2028
Python 3.11 GA October 2027
Python 3.10 GA October 2026
Python 3.9 GA October 2025

For more information, see Azure Functions Python developer guide.

For information about planned changes to language support, see the Azure roadmap updates.

Language support details

The following table shows which languages supported by Functions can run on Linux or Windows. It also indicates whether there's support for editing each language in the Azure portal. The language is based on the Runtime stack option you select when you create your function app in the Azure portal. This value is the same as the --worker-runtime option that you specify when you use the func init command in Azure Functions Core Tools.

Language Runtime stack Linux Windows In-portal editing
C# (isolated worker model) .NET
C# (in-process model) .NET *
JavaScript Node.js
Python Python X
Java Java
PowerShell PowerShell Core
TypeScript Node.js
Go/Rust/other Custom Handlers

*Although we recommend local development for C# apps, you can use the portal to develop and test C# script functions that use the in-process model. For more information, see Create a C# script app.

For more information on operating system and language support, see Operating system support.

When in-portal editing isn't available, you must instead develop your function apps locally.

For more information about how to maintain full-support coverage while running your function apps in Azure, see Azure Functions language stack support policy.

Language major version support

Functions provides a guarantee of support for the major versions of supported programming languages. For most languages, there are minor or patch versions released to update a supported major version. Examples of minor or patch versions include Python 3.9.1 and Node 14.17. After new minor versions of supported languages become available, the minor versions used by your function apps are automatically upgraded to these newer minor or patch versions.

Note

Functions can remove the support of older minor versions after a new minor version is available. For this reason, you shouldn't pin your function apps to a specific minor or patch version of a programming language.

Custom handlers

Custom handlers are lightweight web servers that receive events from the Functions host. You can implement a custom handler in any language that supports HTTP primitives. As a result, you can use custom handlers to create function apps in languages that aren't officially supported. For more information, see Azure Functions custom handlers.

Language extensibility

The Functions runtime is designed to offer language extensibility. The JavaScript, Java, and Python languages are built with this extensibility.

ODBC driver support

The following table lists the support that Open Database Connectivity (ODBC) driver versions offer for Python function apps:

Driver version Python version
ODBC driver 18 ≥ Python 3.11
ODBC driver 17 ≤ Python 3.10

Next steps