/awesome-blazor

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

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome Blazor Awesome

A collection of awesome Blazor resources.

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

Contributions are always welcome! Please take a look at the contribution guidelines pages first. Thanks to all contributors, you're awesome and wouldn't be possible without you!

If you need to search on this list you can try this great website: Awesome Blazor Browser. Thanks @jsakamoto for this! Source code stars last commit.

Special event: Blazor July 2020 Sprint (Over)

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

CMS

  • Blogifier - GitHub stars GitHub stars ASP.NET Core Blogging application with Blazor Admin Dashboard. Demo.
  • BlogCore - GitHub stars GitHub stars Modern CMS on Domain-driven Design and Clean Architecture patterns.
  • RapidCMS - stars stars A code-first, extensible Blazor app that generates a CMS for your own database.
  • WordDaze - stars last commit Blogging application written using Blazor with a WebAPI backend.
  • AcBlog - stars Last commit A blogging PWA that can be hosted as a full static website or as a server-prerender dynamic website. GitHub Pages Demo.

Games

Hybrid

  • Blazor + Electron - Host Razor Components inside an Electron shell. This allows for modern, high-performance cross-platform desktop apps built with .NET and web technologies.
  • Blazor + WebWindow - WebWindow is like Electron, but without bundling Node.js or Chromium, and without most of the APIs. WebWindow source code. Blazor + WebWindow sample here.
  • BlazorMobile - stars last-commit Create full C# driven hybrid-apps for iOS, Android, UWP & Desktop with Blazor.
  • BlazorWebView - stars last-commit A BlazorWebView "Control" that is easily embedded in (Native) UI frameworks.
  • BlazorGrpc - GitHub stars GitHub stars Sample project that demonstrates how you can use the power of Blazor, ASP.NET Core, and gRPC to create a web application which can communicate with a backend that uses gRPC.
  • Blazor + Sitecore - GitHub stars GitHub stars Example of dynamic pages and routes with SiteCore and Helix.
  • Try F# on WebAssembly - stars GitHub stars The F# compiler running in WebAssembly with Bolero.
  • BlazorPoint - stars last commit Sample App to help you get started with hosting Blazor on SharePoint Pages, completely Client Side.
  • gRPC-Web - stars last commit Sample about gRPC-Web and Blazor WebAssembly.
  • Blazor + Umbraco Heartcore - Last commit Example of using Umbraco Heartcore with Blazor.
  • BlazorGrpcWebCodeFirst - last commit Sample project that demonstrates how you can use gRPC-Web with Blazor WebAssembly hosted on ASP.NET Core. Publish and consume your services without having to create .proto files - with the code-first approach.

Logging

  • Logging.Samples - last-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

  • Canvas - stars last commit Material Design components for Blazor. HTML5 Canvas API implementation for Microsoft Blazor.
  • Head Element Helper - stars last commit <Title> and <Meta> components for changing the document titile and meta elements, with server-side prerendering support for SEO/OGP. (Demo).
  • Sve-Blazor-InfiniteScroll - last commit Simplistic implementation of an infinite scroll component for Blazor.
  • Blazor.Canvas - last commit Wrapper library around the HTML canvas API written in C# (no JS dependency) (Demo).

Charts

CSS

  • BlazorStyled - GitHub stars last commit CSS in Blazor Components (Demo).
  • Flexor - last commit Highly configurable components which let you take full advantage of Flexbox CSS.(Demo).
  • BlazorSize - 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.
  • BlazorCss - last commit CSS Helper for BlazorStyled which provides auto complete CSS styles.
  • BlazorCssGrid - last commit Css Helper for defining Grid SPA layouts in BlazorStyled.

Datagrids / tables

  • Blazor.FlexGrid - GitHub stars last commit GridView component for Blazor.
  • Grid.Blazor - GitHub stars last commit Grid component with CRUD forms for Blazor and ASP.NET MVC, supporting filtering, sorting, searching, paging, subgrids and others (Demo).
  • Table.Net - last commit Interactive and flexible Data Tables for Blazor Web Apps.
  • BlazorTable - stars last commit A Table Control for Blazor with sorting, paging, filtering and more (Demo).
  • Sve-Blazor-DataTable - last commit Blazor DataTable component with support for client/server side paging, filtering and sorting, build on top of bootstrap 4.

Date & time

Maps

Modal, Toast & Notifications

Testing

  • bUnit - a testing library for Blazor components - 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.

Others

  • BlazorContextMenu - GitHub stars last commit Material Design components for Blazor. A context menu component for Blazor (Demo).
  • BlazorInputFile - GitHub stars last commit A file input component for Blazor applications, by Steve Sanderson.
  • Blazored.Typeahead - GitHub stars last commit Auto-complete textbox with local and remote data source, for both Client-side and Server-Side Blazor.
  • Blazor LoadingBar - GitHub stars last commit Loading bar UI for Client-Side Blazor application.
  • Blazored.Menu - stars last commit A JavaScript free menu library for Blazor and Razor Components applications.
  • Blazor-DragDrop - GitHub stars last commit Easy-to-use Drag and Drop library for Blazor.
  • Blazor.SignaturePad - GitHub stars 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.PatternFly - stars last commit Blazor wrappers for PatternFly. To view the latest develop branch in action, visit the demo app.
  • Excubo.Blazor.Diagrams - GitHub stars last commit Interactive diagram component (flowcharts, UML, BPMN, ...), customizable and extensible according to user needs (node types, styles). Demo.
  • Blazor-Dom-Confetti - last commit Celebrate success with dom 🎉confetti🎉 on Blazor projects. Two versions, dom-confetti wrapper and native blazor 100% JS free.
  • BlazorQuery - last commit jQuery for Blazor (Blazor Library that wraps jQuery completely in C# for use in Blazor).
  • TwitterShareButton - last commit A Tweet Button component for Blazor.
  • Blazor.LoadingIndicator - last commit Simple to use loading indicator helper library.
  • BlazorTypography - last commit A powerful toolkit for building websites with beautiful design (Demo).
  • Razor.SweetAlert2 - last commit Blazor component implementing the popular SweetAlert2 JavaScript Library.
  • Blazor.SpinKit - last commit Blazor components for SpinKit spinners.
  • Localized Data Annotations Validator - last commit The data annotations validator for Blazor to localize validation error messages. (Demo).
  • LiquidTechnologies.Blazor.ModalDialog - last 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).
  • BlazorMonaco - last commit Blazor component for Microsoft's Monaco Editor which powers Visual Studio Code. (Demo).
  • BlazorContentEditable - last commit Provides contenteditable functionality for Blazor. (Demo).
  • DnetOverlay - last commit Agular CDK Overlay implementation for Blazor.
  • GEmojiSharp.Blazor - last commit GitHub Emoji for Blazor (Demo).
  • RazorComponents.Markdown - last commit A razor component for Markdown rendering which supports LaTeX, Mermaid diagram, code highlighting and extensions based on Markdig.
  • Texnomic.Blazor.hCaptcha - last commit hCaptcha Component for Server-Side Blazor.
  • Z.Blazor.Diagrams - last commit A fully customizable and extensible all-purpose diagrams library for Blazor, inspired by the popular react-diagrams library, with many additions. Demo.

Tools & Utilities

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

  • Blazor-Redux - GitHub stars last commit Connecting a Redux state store with Blazor.
  • Fluxor - GitHub stars last commit Zero boilerplate Flux/Redux library for DotNet. Formerly Blazor-Fluxor GitHub stars.
  • SignalR - GitHub stars last commit SignalR Core implementation for Blazor. It uses the JavaScript client.
  • Blazored.LocalStorage - GitHub stars last commit A library to provide access to local storage in Blazor applications.
  • Storage - GitHub stars last commit HTML5 Storage API implementation for Microsoft Blazor.
  • Blazor-State - GitHub stars last commit Manage client side state in Blazor using MediatR pipeline.
  • bUnit - a testing library for Blazor components - GitHub 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.
  • Logging - GitHub stars last commit Microsoft Extension Logging implementation for Blazor.
  • BlazorStorage - GitHub stars last commit Local and session storage support for Blazor.
  • Blazor.Auth0 - stars last commit The library for using Auth0 in Blazor applications.
  • BlazorDB - stars last commit In-memory, persisted to local storage, database for Blazor.
  • TextCopy - GitHub stars last commit A cross platform package to copy text to and from the clipboard. Supports Blazor via the Clipboard Browser API.
  • CssBuilder - GitHub stars last commit CssBuilder is a Builder pattern for CSS classes to be used with Razor Components.
  • BlazorSignalR - GitHub stars last commit SignalR Core .NET client library for Blazor. It uses the C# client.
  • Notifications - GitHub stars last commit HTML5 Notifications API implementation for Microsoft Blazor.
  • Blazor.Polyfill - GitHub stars last commit Polyfills for Blazor (for Internet Explorer 11 support and some other browsers).
  • Blazor I18n/Localization Text - GitHub stars last commit Localizing contents text in Blazor (Demo).
  • Blazor.Geolocation - GitHub stars last commit Blazor interop for browser Geolocation APIs.
  • Blazored.Localisation - GitHub stars last commit A library to provide localisation in client-side Blazor applications.
  • EmbeddedBlazorContent - GitHub stars last commit Library to load embedded content files (js and css) from Blazor libraries in server-side Blazor mode.
  • BlazorGoogleMaps - stars last commit Blazor interop for GoogleMap library.
  • Blazor.Payments - GitHub stars last commit Blazor Web Agent port of the Web Payment API standard developed by W3C.
  • Blazor SVG Helper - stars last commit Create SVG elements with children (circle, rectangle, image, text, and others) and render with RenderTreeBuilder.
  • Cortex.Net - GitHub stars last commit State management like MobX for .NET and Blazor. Documentation.
  • DataJuggler.Blazor.FileUpload - stars last commit Wrapper for Steve Sanderson's BlazorFileInput component.
  • Blazor Analytics - Blazor extensions for Analytics.
  • BlazorWorker - stars last commit Library for creating DotNet Web Worker threads/multithreading in Blazor. Live demo.
  • Blazor PDF - stars last-commit Generate de PDF document with iTextSharp from a Blazor Server App.
  • 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.Sensors - last commit Blazor interop for browser sensor APIs.
  • Rudder - last commit Efficient state container for Blazor with concepts similar to the ones in redux, including reducers and sagas.
  • BlazorIntersectionObserver - last commit A Blazor wrapper for the Intersection Observer API.
  • Blazor.SpeechSynthesis - last commit A library to provide Speech Synthesis API access for Blazor.
  • Blazor BarCode – A barcode library for Blazor using barcode fonts.
  • BlazorState.Redux - last commit Develop Blazor apps with Redux.
  • BlazorLeaflet - last commit BlazorLeaflet is a wrapper offering easy-to-use Blazor components that expose the Leaflet API in C#.
  • Simple logging server - last commit An ultra simple remote log message server written in Blazor and .NET Core 3.
  • Howler.Blazor - last commit A Blazor JSInterop wrapper for Howler.js, an audio library.
  • jsMind.Blazor - last commit A Blazor JSInterop wrapper for jsMind, a MindMapping tool.
  • Blazor Highcharts - last commit A port of the popular Highcharts library. Demo.
  • Blazor.LazyStyleSheet - last commit Lazy loading for CSS style sheets.
  • Blazor.ScriptInjection - last commit Smart script tags in Blazor components, ideal for lazy loading of javascript files.
  • DnetIndexedDb - last commit Blazor Library for IndexedDB DOM API.
  • PkcsExtensions.Blazor - last commit A library to provide crypto and digital signature functionality for Blazor WebAssembly and light WebCrypto interop.
  • Blazor-Color-Picker - last commit Opens a palette with the Material colors for Blazor application.
  • Blazor_EmojiFilePicker - last commit Bootstrap Text-Input with Smiley- and File-Support for Blazor.
  • Blazor Library Asset Helper - last 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.

Others

  • Blazor Extensions Home - GitHub stars Home for Blazor Extensions.
  • Bolero - GitHub stars last commit Blazor for F# with hot reloaded templates, type-safe endpoints and routing, remoting, and much more.
  • BlazorMobile - GitHub stars last commit Launch Blazor as a mobile application on iOS, Android & UWP.
  • NObservable - GitHub stars last commit MobX-like observables and component instrumentation.
  • BlazorFabric - GitHub stars last commit Blazor port of Microsoft UI Fabric with fluent design. (Demo).
  • Blazor-Dashboard - GitHub stars last commit Admin Dashboard Template Theme for Blazor.
  • BlazorEmbedLibrary - GitHub stars last commit Provides Blazor-style embedded static content files for Razor Components projects.
  • BlazorWebView - GitHub stars last commit Blazor WebView control for WPF, Android, macOS, iOS. Run Blazor on .NET Core and Mono natively inside a Webview. Documentation.
  • WebSocketHelper - stars last commit Helper for Web Socket in Blazor.
  • BlazorLazyLoading - GitHub 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).
  • BlazorLazyLoad - stars last commit BlazorLazyLoad is a implementation of assembly lazy load feature in Blazor WASM application on both page and component level.
  • SpotifyService - stars 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 Generator - last 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.

Videos

Articles

Podcasts

  • Testing Blazor Apps with Egil Hansen - June 4, 2020 - Testing Blazor Apps with Egil Hansen, on .NET Rocks. How do you test your Blazor app? Carl Franklin and Richard Campbell talk to Egil Hansen about bUnit stars last commit, an open-source testing framework designed to work with Blazor - both the server-side Razor components and the WebAssembly client. Egil talks about building bUnit to allow for robust testing, that is, tolerant to the normal changes that come to an application without breaking all the tests. The conversation also turns to growing the bUnit project with more contributors, a wider set of features, and perhaps being part of the .NET Foundation.
  • Michael Washington on the State of Blazor - May 11, 2020 - In this episode of Azure DevOps Podcast, Jeffrey Palermo is speaking with Michael Washington about Blazor in-depth. They discuss the current state of Blazor; Oqtane, a modular application framework for Blazor; server-side Blazor apps; Radzen, a low-code, RAD solution; his books on the topic of Blazor; and his advice, tips, recommendations, and resources for Blazor as well.
  • Blazor with guest Carl Franklin - March 9, 2020 - Carl Franklin is the guest to Weekly Dev Tips. Carl Franklin and Steve Smith (aka Ardalis) discuss Blazor in general and look at how to create a generic object picker control for Blazor.
  • Podcast: Occam’s Blazor - January 14, 2020 - Podcast by Stack Overflow.
  • .NET Core 3 Launch with Scott Hunter - September 26, 2019 - .NET Rocks Podcast, episode 1654: .NET Core 3 Launch with Scott Hunter.
  • Moving from Web Forms to Blazor with Jeff Fritz - September 12, 2019 - .NET Rocks Podcast, episode 1652: Moving from Web Forms to Blazor with Jeff Fritz.
  • Blazor with Daniel Roth - September 03, 2019 - Daniel Roth starts by introducing Web Assembly and how this changed web development. Blazor allows full-stack development through .NET with C#. The panel asks Dan about Blazor's capabilities and future. Dan shares Blazor’s origin story.
  • What is WebAssembly - September 02, 2019 - What is WebAssembly, episode 122 of the Cynical Developer podcast.
  • Building Applications using Server-Side Blazor with Shaun Walker - August 22, 2019 - .NET Rocks! podcast, episode 1649: Building Applications using Server-Side Blazor with Shaun Walker.
  • Daniel Roth on Blazor - July 29, 2019 - Azure DevOps Podcast, Episode 47: Daniel Roth on Blazor DevOps.
  • Blazor with Ed Charbeneau - July 17, 2019 - Coding After Work podcast, Episode 43 – Blazor with Ed Charbeneau.
  • MS Dev Show - Blazor with Ed Charbeneau - June 24, 2019 - MS Dev Show - Blazor with Ed Charbeneau.
  • .NET Core Show Podcast, Episode 27 - Blazored with Chris Sainty - June 14, 2019 - .NET Core Show Podcast, Episode 27 - Blazored with Chris Sainty.
  • Blazor with Ed Charbeneau - June 10, 2018 - The 6 Figure Developer Podcast, Episode 095 – Blazor with Ed Charbeneau.
  • Blazor - You Want To Run .NET Where?! - May 17, 2019 - .NET Core Show - Episode 25 - Blazor - You Want To Run .NET Where?!
  • The Cynical Developer - Blazor - February 18, 2019 - Episode 108 of The Cynical Developer - Blazor.
  • Blazor in 2019 with Steve Sanderson and Dan Roth - February 14, 2019 - .NET Rocks, Blazor in 2019 with Steve Sanderson and Dan Roth.
  • Archives - 2018, 2017.

Presentations slides

Tooling

Books

E-Books

Courses

Community

Other Languages

License

CC0

To the extent possible under law, Adrien Torris has waived all copyright and related or neighboring rights to this work.