F# on WebAssembly
Clone or download


Bolero - F# Tools for Blazor

Build status

Bolero is a set of tools and libraries to run F# applications in WebAssembly using Blazor.

It includes:

  • HTML functions using a familiar syntax similar to WebSharper.UI or Elmish.React.
  • Templating to write HTML in a separate file and bind it to F# using a type provider.
  • Elmish integration: run an Elmish program as a Blazor component, and Blazor components as Elmish views.
  • Routing: associate the page's current URL with a field in the Elmish model, defined as a discriminated union. Define path parameters directly on this union.
  • Remoting: define asynchronous functions running on the server and simply call them from the client.
  • F#-specific optimizations: Bolero strips F# signature data from assemblies to reduce the size of the served application.

Bolero is an early stage project, and Blazor itself is considered experimental, so expect the API to fluctuate.

Getting started with Bolero

To get started, you need the following installed:

  • .NET Core SDK 2.1.403 or newer. Download it here.


  • Run build.cmd

To learn more, you can check the documentation.


Bolero welcomes contributions! If you wish to report issues, propose ideas, or submit pull requests, please use the issue tracker. See also the contributing guide to get started on working on this repository.