FSharp.WebUI 2.5.3

dotnet add package FSharp.WebUI --version 2.5.3
                    
NuGet\Install-Package FSharp.WebUI -Version 2.5.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FSharp.WebUI" Version="2.5.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FSharp.WebUI" Version="2.5.3" />
                    
Directory.Packages.props
<PackageReference Include="FSharp.WebUI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FSharp.WebUI --version 2.5.3
                    
#r "nuget: FSharp.WebUI, 2.5.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FSharp.WebUI@2.5.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FSharp.WebUI&version=2.5.3
                    
Install as a Cake Addin
#tool nuget:?package=FSharp.WebUI&version=2.5.3
                    
Install as a Cake Tool

FSharp.WebUI v2.5.2

F# bindings for WebUI — use any web browser as a GUI.

Screenshot

WebUI lets applications use a real web browser as the user interface while keeping the host program lightweight. This repository contains F# bindings and helpers that integrate WebUI with .NET applications.

WebUI repo: https://github.com/webui-dev/webui

Features

  • Portable (needs only a web browser at runtime)
  • Lightweight (small library, low memory footprint)
  • Fast binary communication protocol between host and frontend
  • Multi-platform & multi-browser support
  • Uses a private browser profile for safety
  • Native runtime provided by WebUI (downloaded on first use or supplied manually)

Installation

dotnet add package FSharp.WebUI --version 2.5.2

Supported platforms & upstream assests:

  • Linux x64 → webui-linux-gcc-x64.zip
  • Linux ARM64 → webui-linux-gcc-arm64.zip
  • Linux ARM → webui-linux-gcc-arm.zip
  • macOS ARM64 → webui-macos-clang-arm64.zip
  • macOS x64 → webui-macos-clang-x64.zip
  • Windows x64 → webui-windows-msvc-x64.zip

Build commands

Library

dotnet build fsharp-webui.fsproj

Example applications

Simple example
dotnet run --project examples/simple-example
# or
dotnet build examples/simple-example/simple-example.fsproj
./examples/simple-example/bin/Debug/net10.0/simple-example 
Prettier CSS example

CSS example

dotnet run --project examples/prettier
# or
dotnet build examples/prettier/prettier.fsproj
./examples/prettier/bin/Debug/net10.0/prettier
Reflection example — embeds assembly resources

Reflection example

dotnet run --project examples/reflection
# or
dotnet build examples/reflection/reflection.fsproj
./examples/reflection/bin/Debug/net10.0/reflection

Note: the examples use WebUI.Browser.Chromium by default in their sample code; change to another browser by passing a different Browser enum to WebUI.showBrowser if desired.

Tests
dotnet run --project tests/WebUITests
# or
dotnet build tests/WebUITests/WebUITests.fsproj
./tests/WebUITests/bin/Debug/net10.0/WebUITests

Usage

Simple program

open WebUI

let html = """<!DOCTYPE html>
<html>
  <head>
    <script src="webui.js"></script>
  </head>
  <body>
    <button id="myBtn">Click Me</button>
  </body>
</html>"""

[<EntryPoint>]
let main argv =
    let myWindow = WebUI.newWindow()
    WebUI.bind myWindow "myBtn" (WebUIEventHandler(fun _ -> printfn "Clicked!"))
    WebUI.showBrowser myWindow html WebUI.Browser.Chromium |> ignore
    WebUI.wait()
    0

Info

Native bootstrap (nightly)

Native binaries are not redistributed in this package. They are downloaded from WebUI nightly releases on first use/build, verified with SHA-256, and cached per user machine.

Default release tag: nightly

Cache locations:
  • Windows: %LocalAppData%/fsharp-webui/nightly/<asset>
  • Linux: ${XDG_CACHE_HOME:-~/.cache}/fsharp-webui/nightly/<asset>
  • macOS: ~/Library/Caches/fsharp-webui/nightly/<asset>
Refresh and overrides:
  • MSBuild refresh: WebUIBootstrapRefresh=true
  • Environment refresh: WEBUI_BOOTSTRAP_REFRESH=true
  • MSBuild native override: WebUINativePath=/path/to/native
  • Environment native override: WEBUI_NATIVE_PATH=/path/to/native
  • Optional tag override: WebUIReleaseTag / WEBUI_RELEASE_TAG (default remains nightly)
Bootstrap testing
./scripts/smoke-bootstrap.sh
Optional:
  • SKIP_NETWORK_TEST=1 ./scripts/smoke-bootstrap.sh to skip the nightly download/verify test.
Supported web browsers
  • Chrome
  • Chromium
  • Firefox
  • Edge
  • Safari
  • AnyBrowser (automatic selection — let the native runtime pick the best available browser)
Requirements
  • .NET 10.0+
  • A web browser (Chrome, Firefox, Edge, Safari, or Chromium)
  • Network access to GitHub releases on first bootstrap (unless using native path override)
Documentation

License

Licensed under the MIT License.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.5.3 108 4/16/2026
2.5.2 101 4/16/2026
0.0.1 107 4/10/2026