All projects

Native browser embedding

NativeWebView

Embed the platform browser without shipping another Chromium runtime.

StatusPreview
TierFlagship
DomainControls
Repositorywieslawsoltes/NativeWebView

A cross-platform Avalonia WebView that uses each operating system’s browser engine, with embedded, GPU-surface, offscreen, dialog, and authentication workflows.

NativeWebView normalizes browser hosting without normalizing away platform capabilities. A common control selects a registered backend, while platform packages bind WebView2, WKWebView, WebKitGTK, mobile views, or browser hosting.

01

Native platform engines

02

Embedded and offscreen modes

03

JavaScript messaging

04

Desktop, mobile, and browser targets

Where it fits.

  • Avalonia apps embedding trusted web content
  • OAuth and system-browser authentication flows
  • Hybrid desktop tools that need low distribution weight
Windows / macOS / Linux

Control + dialog + auth

iOS / Android

Control + auth

Browser

Control + auth

Dialog on mobile/web

Unsupported

Real output,
not a mockup.

NativeWebView GitHub repository preview
The NativeWebView repository contains the current source, samples, releases, and issue history.

Clear layers.
Replaceable seams.

01

Control

The Avalonia surface owns lifecycle, navigation, events, and render mode.

02

Core

Portable contracts cover backends, messaging, scripts, permissions, and navigation.

03

Platform

Each package binds the native browser engine and capability set.

04

Modes

Embedded, GPU-surface, and offscreen presentation fit different composition needs.

6 targetsplatform directions
3 modespresentation choices
Native engineno bundled Chromium
LiveGitHub metadata

From package
to first frame.

Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.

01 · Install
Terminal
dotnet add package NativeWebView
dotnet add package NativeWebView.Platform.Windows
02 · Use · csharp
QuickStart.cs
NativeWebViewRuntime.EnsureCurrentPlatformRegistered();
var backend = NativeWebViewRuntime.CreateBackend();
var webView = new NativeWebView(backend);
await webView.InitializeAsync();
webView.Navigate(new Uri("https://example.com"));

Start focused.
Compose as needed.

The repository is the source of truth.

Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.

Avalonia Development Plugin

Search everything.

Loading the index…

move open esc close

Preparing metadata and full-text search…