Repolode
wailsapp

wailsapp/wails

A Go framework for building cross-platform desktop apps with a web frontend (React, Vue, Svelte, etc.) using native rendering engines.

Open-source alternative to:Electron

Stars
36,622
Forks
1,893
Open issues
332
Last commit
10 hours ago

What is it?

Wails lets Go programmers build desktop applications by combining Go code with an HTML, JavaScript and CSS frontend. Instead of running a local web server and opening a browser, the Go backend and the web UI are bundled into a single binary that runs as a native window.

Go methods can be called directly from JavaScript, and TypeScript definitions for Go structs and methods are generated automatically. The project also provides native dialogs and menus, dark and light mode support, window translucency effects, and a unified event system between Go and JavaScript. A CLI handles project scaffolding, building and bundling, with templates for popular frontend frameworks.

The framework targets Windows, macOS and Linux and uses each operating system's native web rendering engine rather than embedding a browser. Two versions are active: v2 is stable, while v3 is in beta.

Key features

  • 01Call Go methods directly from JavaScript with auto-generated TypeScript definitions
  • 02Native dialogs, menus, and dark/light mode support
  • 03Unified event system between Go and JavaScript
  • 04CLI for project scaffolding, building, and bundling with frontend templates
  • 05Runs on Windows, macOS, and Linux using native rendering engines without an embedded browser

Use cases

  • Building lightweight desktop tools in Go with a modern web-based UI
  • Adding a graphical frontend to an existing Go program without running a local web server
  • Creating cross-platform desktop applications using React, Vue, or Svelte

Quick start

  1. 1

    Install the Wails v2 CLI with Go

    go install github.com/wailsapp/wails/v2/cmd/wails@latest
  2. 2

    Install the Wails v3 CLI (beta) with Go

    go install github.com/wailsapp/wails/v3/cmd/wails3@latest
  3. 3

    Follow the full installation instructions on the Wails docs site

Things to know

  • V3 is still in beta, while v2 is the stable release.
  • Desktop apps need platform-specific native dependencies beyond the Go toolchain.

Topics

FAQ

What is wails?
A Go framework for building cross-platform desktop apps with a web frontend (React, Vue, Svelte, etc.) using native rendering engines. Wails lets Go programmers build desktop applications by combining Go code with an HTML, JavaScript and CSS frontend. Instead of running a local web server and opening a browser, the Go backend and the web UI are bundled into a single binary that runs as a native window.
Is wails free to use? What license does it have?
wails is open source under the MIT license. Check the license terms before using it in commercial products.
Is wails still maintained?
Actively maintained. The last commit to wails was on Oct 21, 2026.
What can I use wails for?
Building lightweight desktop tools in Go with a modern web-based UI Adding a graphical frontend to an existing Go program without running a local web server Creating cross-platform desktop applications using React, Vue, or Svelte
How do I install wails?
Install the Wails v2 CLI with Go: go install github.com/wailsapp/wails/v2/cmd/wails@latest Install the Wails v3 CLI (beta) with Go: go install github.com/wailsapp/wails/v3/cmd/wails3@latest Follow the full installation instructions on the Wails docs site
Where can I get wails?
The source code and installation instructions are on GitHub: https://github.com/wailsapp/wails

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects