Skip to main content
WebviewJS on Windows uses Microsoft’s WebView2 engine — a Chromium-based runtime that ships with Microsoft Edge. Because WebView2 is maintained by Microsoft and updated alongside Edge, you always get a modern, standards-compliant browser surface without bundling Chromium yourself.

Prerequisites

Windows 11 ships with the WebView2 runtime pre-installed. Windows 10 auto-downloads and installs it the first time it is needed. You can also pre-install it manually using the Evergreen bootstrapper from Microsoft.
Check the installed WebView2 version at runtime:

Supported architectures

Windows-specific creation options

Pass these fields in the BrowserWindowOptions object when calling app.createBrowserWindow(). They are silently ignored on other platforms.

Windows runtime methods

These methods are Windows-specific and safe to call on any platform — they return neutral values or do nothing outside Windows.

Progress bar

Integrate with the Windows taskbar progress indicator:
ProgressBarState values: None · Normal · Indeterminate · Paused · Error

IPC on Windows

In wry 0.53, a file: page that calls window.ipc.postMessage() can abort because WebView2 treats the page source as a file: URI and wry attempts to convert it to an HTTP request URI. Always load IPC-enabled pages through a custom protocol such as app://never via a file: URL. See the Custom Protocols guide for setup instructions.
On Windows the menu bar is attached to each window’s title bar following standard Win32 behaviour. Every window can carry its own independent menu or share the application-level menu set via app.setMenu().
Listen for custom menu item clicks on the Application instance:

DPI and HiDPI scaling

Tao reads the monitor’s scale factor automatically and reports it via win.scaleFactor(). Use logical pixels when positioning child elements:
All values from window events (resize, move, mouse-move, etc.) arrive in physical pixels. Divide by win.scaleFactor() to convert to logical (CSS) pixels.