What is .NET?

An illustration of three developers, sitting at a desk, working on laptops.


.NET is a free, cross-platform, open source developer platform for building many different types of applications.

With .NET, you can use multiple languages, editors, and libraries to build for web, mobile, desktop, gaming, and IoT.

Illustration of a keyboard with three speech bubbles above it. The bubbles have the words C#, VB, and F# in them, with a person next to them.


You can write .NET apps in C#, F#, or Visual Basic.

  • C# is a simple, modern, object-oriented, and type-safe programming language.
  • F# is a cross-platform, open-source, functional programming language for .NET. It also includes object-oriented and imperative programming.
  • Visual Basic is an approachable language with a simple syntax for building type-safe, object-oriented apps.
An illustration of two laptops, a desktop computer, and a phone.

Cross Platform

Whether you're working in C#, F#, or Visual Basic, your code will run natively on any compatible OS. Different .NET implementations handle the heavy lifting for you:

  • .NET Core is a cross-platform .NET implementation for websites, servers, and console apps on Windows, Linux, and macOS.
  • .NET Framework supports websites, services, desktop apps, and more on Windows.
  • Xamarin/Mono is a .NET implementation for running apps on all the major mobile operating systems.
An illustration of a person with a hand in the air. In an arc around his head are icons of tools, book, light bulb, screen, and code.

One consistent API

.NET Standard is a base set of APIs that are common to all .NET implementations.

Each implementation can also expose additional APIs that are specific to the operating systems it runs on. For example, .NET Framework is a Windows-only .NET implementation that includes APIs for accessing the Windows Registry.

An illustration of 5 carboard boxes of various sizes.


To extend functionality, Microsoft and others maintain a healthy package ecosystem built on .NET Standard.

NuGet is a package manager built specifically for .NET that contains over 90,000 packages.

Application models

You can build many types of apps with .NET. Some are cross-platform, and some target a specific OS or .NET implementation.


Build web apps and services for Windows, Linux, macOS, and Docker.


Use a single codebase to build native mobile apps for iOS, Android, and Windows.


Create beautiful and compelling desktop apps for Windows and macOS.


Develop 2D and 3D games for the most popular desktops, phones, and consoles.

Machine Learning & AI

Add vision algorithms, speech processing, predictive models, and more to your apps.

Internet of Things

Make IoT apps, with native support for the Raspberry Pi and other single-board computers.

An illustration of a blue sheet of paper with four hands reachinf over it. The hands are holding a magnifying glass, ruler, pencil, and set square.

Open source

Because .NET is open source, you can join the 25,000 developers and 1,700 companies already contributing to the .NET platform.

An illustration of a red toolbox holding a hammer, wrench, cloud, pen, and clipboard.


The Visual Studio product family provides a great .NET development experience on Windows, Linux, and macOS.

The Visual Studio Marketplace has thousands of editor extensions from Microsoft and others.

If you prefer to use a different editor, there are .NET command line tools and plugins for many popular editors.

Ready to Get Started?

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

Supported on Windows, Linux, and macOS

Get Started