What is ASP.NET?

ASP.NET is an open source web framework, created by Microsoft, for building modern web apps and services with .NET.

ASP.NET is cross platform and runs on Windows, Linux, macOS, and Docker.

The .NET platform

.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.

The base platform provides components that apply to all different types of apps. Additional frameworks, such as ASP.NET, extend .NET with components for building specific types of apps.

Here are some things included in the .NET platform:

  • The C#, F#, and Visual Basic programming languages
  • Base libraries for working with strings, dates, files/IO, and more
  • Editors and tools for Windows, Linux, macOS, and Docker

Learn more about the .NET platform

ASP.NET extends .NET

ASP.NET extends the .NET platform with tools and libraries specifically for building web apps.

These are some things that ASP.NET adds to the .NET platform:

  • Base framework for processing web requests in C# or F#
  • Web-page templating syntax, known as Razor, for building dynamic web pages using C#
  • Libraries for common web patterns, such as Model View Controller (MVC)
  • Authentication system that includes libraries, a database, and template pages for handling logins, including multi-factor authentication and external authentication with Google, Twitter, and more.
  • Editor extensions to provide syntax highlighting, code completion, and other functionality specifically for developing web pages

Back-end code

When using ASP.NET your back-end code, such as business logic and data access, is written using C#, F#, or Visual Basic.

Because ASP.NET extends .NET, you can use the large ecosystem of packages and libraries available to all .NET developers. You can also author your own libraries that are shared between any applications written on the .NET platform.

Dynamic pages using C#, HTML, CSS, and JavaScript

Razor provides a syntax for creating dynamic web pages using HTML and C#. Your C# code is evaluated on the server and the resulting HTML content is sent to the user.

Code that executes client-side is written in JavaScript. ASP.NET integrates with JavaScript frameworks and includes pre-configured templates for single page app (SPA) frameworks like React and Angular.

100,000+ OSS contributions 3,700+ OSS company contributors


Like the rest of .NET, ASP.NET is open source on GitHub. .NET has over 100,000 contributions and 3,700 companies have already contributed.

Learn more about .NET and open-source

Windows, Linux, macOS, and Docker

ASP.NET apps can be developed and run on Windows, Linux, macOS, and Docker.

The Visual Studio family of products has tools for building .NET apps on any operating system. There are also command-line tools and extensions for many popular editors.

Learn about tools for .NET

Pages, APIs, real-time, and microservices

ASP.NET allows you to build many types of web applications, including web pages, REST APIs, microservices, and hubs that push real-time content to connected clients.

What is ASP.NET Core?

If you use ASP.NET, you'll soon come across the term ASP.NET Core.

ASP.NET Core is the open-source and cross-platform version of ASP.NET. You should use ASP.NET Core for all new applications. The tutorials on this site all use ASP.NET Core.

The Windows-only versions of ASP.NET, that existed before ASP.NET Core, is typically just referred to as ASP.NET. The majority of innovation occurs in ASP.NET Core, but other versions continue to receive minor updates and bug-fixes.

Learn more about ASP.NET Core

Ready to Get Started?

Our step-by-step tutorial will help you get ASP.NET running on your computer.

Supported on Windows, Linux, and macOS

Get Started