Blazor is an open-source and cross-platform web UI framework for building single-page apps using .NET and C# instead of JavaScript. It is based on a powerful and flexible component model for building richly interactive web UI. Blazor UI components using a combination of .NET code and Razor syntax: an elegant melding of HTML and C#. These components can seamlessly handle UI events, bind to user input, and efficiently render UI updates.
Blazor components can be hosted in different ways to create your web app. The first supported way is called Blazor Server. In a Blazor Server app, the components run on the server using .NET Core.
Blazor WebAssembly is now the second supported way to host your Blazor components: client-side in the browser using a WebAssembly-based .NET runtime. The WebAssembly includes a proper .NET runtime implemented in WebAssembly, can be downloaded with your WebAssembly app, and enables running .NET code directly in the browser.

Blazor is a framework for building Interactive client-side WEB UI with .NET

Create rich interactive UIs using C# instead of JavaScript.
Share server-side and client-side app logic written in .NET.
Render the UI as HTML and CSS for wide browser support, including mobile browsers.
Integrate with modern hosting platforms, such as Docker.

Key features of Blazor

Interactive web UI with C#

Blazor lets you build interactive web UIs using C# instead of JavaScript. These apps consist of reusable web UI components implemented using C#, HTML, and CSS. You can write both the client and server code in C#. It is the popular web development framework that extends the .NET development platform with tools and libraries for building web apps.

Run on webassembly or the server

Blazor can run your client-side C# code directly in the browser, using WebAssembly. Because it is real .NET running on WebAssembly, which can run your client logic on the server. Client UI events are sent back to the server using SignalR – a real-time messaging framework. Once execution completes, the required UI changes are sent to the client and merged into the DOM.

Built on open web standards

Blazor uses open web standards without plugins or code transpilation. It works in all modern web browsers, including mobile browsers. Code running in the browser executes in the same security sandbox as JavaScript frameworks and it has the flexibility to do anything you would do on the server, such as connecting directly to a database.

Share code and libraries

Blazor apps can use existing DotNet libraries, thanks to DotNet Standard—a formal specification of DotNet APIs that are common across all .NET implementations. .NET Standard allows the same code and libraries to use on the server, in the browser, or anywhere you write DotNet code by allowing you to share it.

Javascript interop

When using server-side code execution, Blazor takes care of seamlessly executing any JavaScript code on the client. C# code can call JavaScript APIs and libraries to use the large ecosystem of JavaScript libraries that exist for client-side UI while writing the logic in C#.

Open-source and free

Blazor is part of the open-source .NET platform that has a strong community of the huge number of contributors from more than 3,700 companies. It has an active community that is answering questions, producing samples, writing tutorials, authoring books, and more. Awesome Blazor provides a great community-maintained list of its own resources.
Visual Studio and Visual Studio Code provide a great Blazor development experience on Windows, Linux, and macOS.
Get productive fast with re-usable UI components from top component vendors like Telerik, DevExpress, Syncfusion, Radzen, Infragistics, GrapeCity, and others.