Courses & TutorialsProgramming

Awesome Blazor – Massive Collection of Resources

A collection of awesome Blazor resources.

Blazor is a .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly.

Contents

Introduction

What is Blazor?

Blazor is a .NET web framework to build client web apps with C#.

Blazor lets you build interactive web UIs using C# instead of JavaScript. Blazor apps are composed of reusable web UI components implemented using C#, HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries.
More information on the official Blazor website.

Get started

To get started with Blazor, follow the instructions in the Blazor Get Started documentation.

General

Sample Projects

Authentication

Cloud

  • BlazorFile2Azurestars last commit Upload a file from Blazor WebAssembly to Azure Blob Storage.
  • Blazor WASM Deploymentlast commit Sample repo for showing Actions to deploy a Blazor app to Azure services.
  • Blazor.JobBoardlast commit Blazor WebAssembly based jobboard application deployed to Azure Storage Static Site. Demo.
  • EventGrid Viewer Blazorstars last commit Blazor Server app that displays EventGrid messages in realtime & allows the ability to secure the app using Azure AD, KeyVault & Managed Identities.

CMS

  • BlogifierGitHub stars GitHub stars ASP.NET Core Blogging application with Blazor Admin Dashboard. Demo.
  • RapidCMSstars last commit A code-first, extensible Blazor app that generates a CMS for your own database.
  • JHipster.NET stars last commit JHipster is a well-known platform for generating modern application in java world. JHipster provides a blueprints system that allows to override the default behavior of the generator. JHipster.NET is a blueprint that overrides the back-end part, originally generated in spring boot, by back-end in asp.net core. For the front-end all the common language can be used (angular, react), including Blazor.
  • BlazorForumstars Last commit Forum application built with Blazor.
  • BlazorShopstars Last commit Simple shop application built with Blazor WebAssembly.
  • Atlasstars Last commit A forum software built with ASP.NET Core Blazor WebAssembly.
  • GitterGitHub stars GitHub stars A Blazor Gitter client.
  • AcBlogstars Last commit A blogging PWA that can be hosted as a full static website or as a server-prerender dynamic website. GitHub Pages Demo.
  • BlazingOrchardstars Last commit Blazing Orchard is a modular application framework that turns your Blazor project into a CMS-powered Blazor application by leveraging Orchard Core as a decoupled backend/CMS server using its REST & GraphQL APIs.
  • BlazorGhostLast commit A Blazor frontend for Ghost blogs.
  • BlazorWPBloglast commit WordPress blog with Blazor.

Games

  • AsteroidsWasmstars last commit Collection of .NET 5 C# applications consuming a single .NET Standard project running in: Blazor Client (WebAssembly), Blazor Server, Electron (via Blazor Server), WPF, WinForms, Xamarin. Demo.
  • Trains.NETstars last commit 2D game built with .NET and C#.
  • Flappy Blazor Birdstars last-commit Blazor Flappy Bird’s port. [Wasm Demo] | [Multiplayer Demo].
  • DiabloBlazorstars last commit Blazor port of DiabloWeb, making it a double WebAssembly app: a WebAssembly (C#) PWA hosting a WebAssembly (C++) game. Demo.
  • BlazorGamesstars last commit This project is a Blazor WebAssembly project where we design, model, implement, and play common board and card games. This website is deployed here: blazorgames.net.
  • BlazorPonglast commit – Pong in Blazor server model and Wasm model using SignalR Core. Server Demo. Wasm Demo.
  • BlazorConnectFourlast commit Classic childhood game ConnectFour in Blazor.
  • Memory Game Wasm/PWAlast commit Simple Memory game with PWA support. Demo.
  • BlazorGamelast commit BlazorGame is a small proof-of-concept project to investigate the feasability of Blazor-based C# game development.
  • Lights out Blazorlast commit Clone based on the 1995 game Lights Out by Tiger Electronics Demo.
  • Minesweeperlast commit Minesweeper using C# and Blazor WebAssembly.
  • TicTacToelast commit Tic Tac Toe game using blazor webassembly. Here is a Demo and a Blog post.
  • ZXSpectrumlast commit ZX Spectrum emulator running on Blazor WebAssembly. Demo.
  • BlazorDungeonlast commit – Multiuser dungeon game. Text based graphics. Up to 5 simultaneous players. Demo.
  • Flappy Bird last commit A Blazor WebAssembly implementation of Flappy Bird.
  • BlazorWordGame last commit Online Multiplayer Word Game With Blazor and SignalR on .NetCore.
  • Blazorshipslast commit Battleship implementation built with Blazor and SignalR.
  • TetrisBlazorlast commit Online Game With Blazor and SignalR on .NetCore. Demo.

Hybrid

IoT

  • PresenceLightstars last commit PresenceLight is a solution to broadcast your various statuses to a Phillips Hue or LIFX light bulb. Some statuses you can broadcast are: your availability in Microsoft Teams, your current Windows 10 theme, and a theme or color of your choosing. Blog post. Demo video.

Logging

  • Logging.Sampleslast-commit Samples for .NET Core and ASP.NET Core logging using various logger frameworks.

Machine Learning

Mobile

ToDos

Others

Tutorials

Libraries & Extensions

Reusable components like buttons, inputs, grids and more.

Component bundles

Individual components

API

  • Canvasstars last commit HTML5 Canvas API implementation for Microsoft Blazor.
  • Head Element Helperstars last commit <Title> and <Meta> components for changing the document titile and meta elements, with server-side prerendering support for SEO/OGP. (Demo).
  • BrowserInteropGitHub stars last commit This library provides access to browser API in a Blazor App.
  • Blazor.CanvasGitHub stars last commit Wrapper library around the HTML canvas API written in C# (no JS dependency) (Demo).
  • Sve-Blazor-InfiniteScrolllast commit Simplistic implementation of an infinite scroll component for Blazor.
  • BlazorGooglePaylast commit Blazor wrapper around Js Google Pay, library based on BrowserInterop.
  • BlazorDependencieslast commit Js library that helps maitain dependencies of one Razor Class Library to another one without manually adding scripts and css-styles for each library.

Charts

CSS

  • BlazorStyledstars last commit CSS in Blazor Components (Demo).
  • BlazorSizestars last commit BlazorSize is a JavaScript interop library for Blazor that is used to detect the Browser’s current size, change in size, and test media queries.
  • BlazorAnimationstars last commit A Blazor component based on animate.css to easly animate your content. Demo.
  • Flexorlast commit Highly configurable components which let you take full advantage of Flexbox CSS.(Demo).
  • BlazorCsslast commit CSS Helper for BlazorStyled which provides auto complete CSS styles.
  • BlazorCssGridlast commit Css Helper for defining Grid SPA layouts in BlazorStyled.

Datagrids / tables

  • Grid.Blazorstars last commit Grid component with CRUD forms for Blazor and ASP.NET MVC, supporting filtering, sorting, searching, paging, subgrids and others (Demo).
  • Blazor.FlexGridstars last commit GridView component for Blazor.
  • Sve-Blazor-DataTablestars last commit Blazor DataTable component with support for client/server side paging, filtering and sorting, build on top of bootstrap 4.
  • Table.Netlast commit Interactive and flexible Data Tables for Blazor Web Apps.
  • BlazorTablestars last commit A Table Control for Blazor with sorting, paging, filtering and more (Demo).
  • WpfGridLayout.Blazorlast commit Provide a simple way to create a grid layout like WPF in Blazor.

Date & time

Maps

Markdowns

  • RazorComponents.Markdownlast commit A razor component for Markdown rendering which supports LaTeX, Mermaid diagram, code highlighting and extensions based on Markdig.
  • Blazor Markdownlast_commit A Blazor Markdown component that enables you to include Markdown files in your server-side Blazor apps.

Modal, Toast & Notifications

Testing

  • bUnit – a testing library for Blazor componentsstars last commit A testing library for Blazor Components. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML diffing/comparison logic. You can easily interact with and inspect components, trigger event handlers, provide cascading values, inject services, mock IJsRuntime, and perform snapshot testing.

Others

  • Stl.FusionGitHub stars last commit .NET Core and Blazor library that attempts to dramatically improve the way we implement real-time and high-load services by introducing a novel kind of “computed observables” – immutable, thread-safe, and most importantly, almost invisible for developers. Samples. Overview.
  • BlazorContextMenuGitHub stars last commit A context menu component for Blazor (Demo).
  • BlazorInputFileGitHub stars last commit A file input component for Blazor applications, by Steve Sanderson.
  • Blazored.TypeaheadGitHub stars last commit Auto-complete textbox with local and remote data source, for both Client-side and Server-Side Blazor.
  • Blazor-DragDropstars last commit Easy-to-use Drag and Drop library for Blazor.
  • Blazored.Menustars last commit A JavaScript free menu library for Blazor and Razor Components applications.
  • Blazor LoadingBarGitHub stars last commit Loading bar UI for Client-Side Blazor application.
  • Z.Blazor.Diagramsstars last commit A fully customizable and extensible all-purpose diagrams library for Blazor, inspired by the popular react-diagrams library, with many additions. Demo.
  • Excubo.Blazor.Diagramsstars last commit Interactive diagram component (flowcharts, UML, BPMN, …), customizable and extensible according to user needs (node types, styles). Demo.
  • Blazor.SignaturePadstars last commit A Blazor component library that utilizes Szymon Nowak’s javascript library Signature Pad to implement smooth signature drawing on a HTML5 canvas.
  • Blorc.PatternFlystars last commit Blazor wrappers for PatternFly. To view the latest develop branch in action, visit the demo app.
  • BlazorTransitionableRoutestars last commit Allows current and previous route to exist enabling transition animations of UI/UX design systems.
  • Blazor-Dom-Confettilast commit Celebrate success with dom 🎉confetti🎉 on Blazor projects. Two versions, dom-confetti wrapper and native blazor 100% JS free.
  • TwitterShareButtonlast commit A Tweet Button component for Blazor.
  • Blazor.LoadingIndicatorlast commit Simple to use loading indicator helper library.
  • BlazorTypographylast commit A powerful toolkit for building websites with beautiful design (Demo).
  • Razor.SweetAlert2last commit Blazor component implementing the popular SweetAlert2 JavaScript Library.
  • Blazor.SpinKitlast commit Blazor components for SpinKit spinners.
  • Localized Data Annotations Validatorlast commit The data annotations validator for Blazor to localize validation error messages. (Demo).
  • LiquidTechnologies.Blazor.ModalDialoglast commit Turns Blazor components into Modal Dialogs, allows values to be returned from the dialogs (var result = await ShowDialogAsync(…)), includes simple MessageBox and data capture dialogs (for Blazor Client & Server).
  • BlazorMonacolast commit Blazor component for Microsoft’s Monaco Editor which powers Visual Studio Code. (Demo).
  • BlazorContentEditablelast commit Provides contenteditable functionality for Blazor. (Demo).
  • Blazor.Gridslast commit Component library for CSS grids with extra features, such as moving and resizing interactively. Create your own dashboard with ease. (Demo).
  • Blazor.TreeViewslast commit Component library for tree views. (Demo).
  • DnetOverlaylast commit Agular CDK Overlay implementation for Blazor.
  • GEmojiSharp.Blazorlast commit GitHub Emoji for Blazor (Demo).
  • Texnomic.Blazor.hCaptchalast commit hCaptcha Component for Server-Side Blazor.
  • BlazorDialoglast commit Dialog component as a service for Blazor. Demo.
  • BlazorWheelZoomlast commit Zoom and move image with Blazor using mouse wheel and mouse drag – minimal javascript. Demo.
  • AdvancedBlazorSelect2last commit Simple wrapper for Select2 with full support of databases and custom web APIs.

Tools & Utilities

Libraries and extensions for state management, cookies, local storage and other specific tools.

  • Blazor-ReduxGitHub stars last commit Connecting a Redux state store with Blazor.
  • FluxorGitHub stars last commit Zero boilerplate Flux/Redux library for DotNet. Formerly Blazor-Fluxor GitHub stars.
  • SignalRGitHub stars last commit SignalR Core implementation for Blazor. It uses the JavaScript client.
  • Blazored.LocalStorageGitHub stars last commit A library to provide access to local storage in Blazor applications.
  • StorageGitHub stars last commit HTML5 Storage API implementation for Microsoft Blazor.
  • Blazor-StateGitHub stars last commit Manage client side state in Blazor using MediatR pipeline.
  • bUnit – a testing library for Blazor componentsGitHub stars last commit A testing library for Blazor Components. You can easily define components under test in C# or Razor syntax and verify outcome using semantic HTML diffing/comparison logic. You can easily interact with and inspect components, trigger event handlers, provide cascading values, inject services, mock IJsRuntime, and perform snapshot testing.
  • LoggingGitHub stars last commit Microsoft Extension Logging implementation for Blazor.
  • BlazorStorageGitHub stars last commit Local and session storage support for Blazor.
  • Blazor.Auth0stars last commit The library for using Auth0 in Blazor applications.
  • TextCopyGitHub stars last commit A cross platform package to copy text to and from the clipboard. Supports Blazor via the Clipboard Browser API.
  • CssBuilderGitHub stars last commit CssBuilder is a Builder pattern for CSS classes to be used with Razor Components.
  • NotificationsGitHub stars last commit HTML5 Notifications API implementation for Microsoft Blazor.
  • Blazor.PolyfillGitHub stars last commit Polyfills for Blazor (for Internet Explorer 11 support and some other browsers).
  • Blazor I18n/Localization Textstars last commit Localizing contents text in Blazor (Demo).
  • BlazorGoogleMapsstars last commit Blazor interop for GoogleMap library.
  • Blazor.Geolocationstars last commit Blazor interop for browser Geolocation APIs.
  • BlazorSignalRGitHub stars last commit SignalR Core .NET client library for Blazor. It uses the C# client.
  • MvvmBlazorstars last commit BlazorMVVM is a small framework for building Blazor and BlazorServerside apps. With it’s simple to use MVVM pattern you can boost up your development speed while minimizing the hazzle to just make it work.
  • Blazored.Localisationstars last commit A library to provide localisation in client-side Blazor applications.
  • EmbeddedBlazorContentGitHub stars last commit Library to load embedded content files (js and css) from Blazor libraries in server-side Blazor mode.
  • Cortex.NetGitHub stars last commit State management like MobX for .NET and Blazor. Documentation.
  • Blazor Analytics – Blazor extensions for Analytics.
  • BlazorWorkerstars last commit Library for creating DotNet Web Worker threads/multithreading in Blazor. Live demo.
  • Blazor PDFstars last-commit Generate de PDF document with iTextSharp from a Blazor Server App.
  • Blazor SVG Helperstars last commit Create SVG elements with children (circle, rectangle, image, text, and others) and render with RenderTreeBuilder.
  • Blazor.Paymentsstars last commit Blazor Web Agent port of the Web Payment API standard developed by W3C.
  • BlazorRouterstars last commit BlazorRouter is an awesome router inspired by react-router, providing declarative routing for Blazor.
  • DataJuggler.Blazor.FileUploadstars last commit Wrapper for Steve Sanderson’s BlazorFileInput component.
  • BlazorPrettyCode – Blazor Code Component for documentation sites. Demo.
  • Blazor.EventAggregator – Lightweight Event Aggregator for Blazor (Razor Components).
  • Blazor Gamepad – Provides gamepad API access for Blazor.
  • Blazor Hotkeys – A library to provide configuration-centric keyboard shortcuts for Blazor.
  • BlazorRealm – Redux state management for Blazor.
  • Blazor.LocalFiles – Open files in your browser and load into Blazor.
  • Blazor.SpeechSynthesislast commit A library to provide Speech Synthesis API access for Blazor.
  • Blazor BarCode – A barcode library for Blazor using barcode fonts.
  • BlazorState.Reduxlast commit Develop Blazor apps with Redux.
  • BlazorLeafletlast commit BlazorLeaflet is a wrapper offering easy-to-use Blazor components that expose the Leaflet API in C#.
  • Howler.Blazorlast commit A Blazor JSInterop wrapper for Howler.js, an audio library.
  • jsMind.Blazorlast commit A Blazor JSInterop wrapper for jsMind, a MindMapping tool.
  • Blazor Highchartslast commit A port of the popular Highcharts library. Demo.
  • Blazor.LazyStyleSheetlast commit Lazy loading for CSS style sheets.
  • Blazor.ScriptInjectionstars last commit Smart script tags in Blazor components, ideal for lazy loading of javascript files.
  • DnetIndexedDblast commit Blazor Library for IndexedDB DOM API.
  • PkcsExtensions.Blazorlast commit A library to provide crypto and digital signature functionality for Blazor WebAssembly and light WebCrypto interop.
  • Blazor-Color-Pickerlast commit Opens a palette with the Material colors for Blazor application.
  • Blazor_EmojiFilePickerlast commit Bootstrap Text-Input with Smiley- and File-Support for Blazor.
  • Blazor Library Asset Helperlast commit A VISX extension that can list all JS and CSS assets from Nuget package razor libraries you are using in your Blazor app. It will generate all the <script> and <link> tags for your HTML page for you to copy/paste. Available on the Visual Studio Marketplace.
  • Blazm.Bluetoothlast commit A Blazor library for connecting to devices using Bluetooth.
  • BlazorApplicationInsightslast commit Application Insights for Blazor web applications.
  • BracketShow.BlazorNavigationManagerExtensionslast commit Simple set of extensions for the Navigation Manager to simplify its usage for things we are likely to do in most of our Blazor applications.
  • BlazorX.NavigationStatelast commit BlazorX.NavigationState provides a set of utilities that allow you to observe and bind query strings directly to Blazor components.
  • Blazor Printinglast-commit Print and save PDF documents with a native print dialog in a Blazor Server or client Application.

Others

  • Blazor Extensions HomeGitHub stars Home for Blazor Extensions.
  • BoleroGitHub stars last commit Blazor for F# with hot reloaded templates, type-safe endpoints and routing, remoting, and much more.
  • BlazorMobileGitHub stars last commit Launch Blazor as a mobile application on iOS, Android & UWP.
  • NObservableGitHub stars last commit MobX-like observables and component instrumentation.
  • BlazorFabricGitHub stars last commit Blazor port of Microsoft UI Fabric with fluent design. (Demo).
  • Blazor-Dashboardstars last commit Admin Dashboard Template Theme for Blazor.
  • BlazorEmbedLibraryGitHub stars last commit Provides Blazor-style embedded static content files for Razor Components projects.
  • BlazorWebViewGitHub stars last commit Blazor WebView control for WPF, Android, macOS, iOS. Run Blazor on .NET Core and Mono natively inside a Webview. Documentation.
  • WebSocketHelperstars last commit Helper for Web Socket in Blazor.
  • BlazorLazyLoadingGitHub stars last commit Production ready lazy loading implementation. Full lazy loading support for WASM and Server (pages, components, dlls) with abstractions to implement modularization if you wish (custom endpoints, custom manifests, etc).
  • BlazorLazyLoadstars last commit BlazorLazyLoad is a implementation of assembly lazy load feature in Blazor WASM application on both page and component level.
  • SpotifyServicestars last commit A high-level Spotify API library for Blazor WebAssembly projects that enables Spotify playback in the browser, manages OAuth 2.0 authorization, provides easy access to the Spotify Web API and uses IndexedDB caching.
  • Bionic – An Ionic CLI clone for Blazor projects.
  • BlazorFileSaver – Blazor Component wrapper for FileSaver.js (Demo).
  • Blazor.DynamicJavascriptRuntime.Evaluator – Execute dynamic object expressions as Javascript in Blazor client-side apps.
  • Blazor.AdaptiveCards – Adaptive Cards for Blazor. Documentation.
  • EventHorizon Blazor TypeScript Interop Generatorlast commit This project takes in a TypeScript type definition file and creates a .NET Core project that will work with the provided Interop abstraction project.
  • Generators.Blazorlast commit Generators.Blazor is a source generator for improving performance in Blazor. The project also contains analyzers to detect common issues in Blazor apps.

Videos

Articles