Skip to content

Wails

A Go framework for building desktop apps with a web-based user interface.

Stars
36.9k
Forks
1.9k
Licence
MIT
Language
Go
Last update
4 days ago
Type
Framework

What it is

Wails lets Go programmers build desktop applications using HTML, JavaScript, and CSS for the interface, with Go handling the backend logic. It packages both into a single binary and handles project creation, compilation, and bundling. The README says it uses native rendering engines rather than an embedded browser, and offers native dialogs and menus.

  • Build a desktop utility with a Go backend and a web frontend
  • Call Go methods from JavaScript and receive auto-generated TypeScript definitions
  • Add native menus, dialogs, and dark/light mode to a Go app
  • Bundle a Go program and its web UI into one distributable binary

Great for

  • Go programmers who want a desktop app with a web-style interface
  • Developers who want to add a frontend to an existing Go program
  • Teams wanting a lighter alternative to Electron for Go-based apps
  • Developers who already know React, Vue, Svelte, or Angular

Not ideal for

  • People who do not know Go, since the backend is written in Go (reason: the framework assumes Go programming skills)
  • Projects needing a browser-based web server rather than a desktop app (reason: Wails targets packaged desktop binaries)
  • Anyone needing a mature v3 ecosystem, since the README lists v2 as the stable line and v3.0.0 with no release binaries (reason: version status is still settling)
Step-by-step guide: how to use WailsInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Go

    Install Wails v2 CLI

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

    Install Wails v3.0.0 CLI

    go install github.com/wailsapp/wails/v3/cmd/wails3@v3.0.0
  2. 2

    Run it

    • Choose v2 (stable) or v3.0.0 based on the docs you need
    • Run the install command for your chosen version
    • Follow the full installation instructions linked from the README at wails.io or v2.wails.io
    • Use the Wails CLI to create and build a project
  3. 3

    Get the most out of it

    • Use the pre-built templates to start a frontend quickly
    • Use auto-generated TypeScript definitions for type-safe calls from JavaScript to Go
    • Use the unified eventing system to pass messages between Go and JavaScript
    • Check the roadmap discussion and WEP process if you want to follow or propose changes

Downloads

Strengths

  • Lets Go developers reuse familiar web frontend tools
  • Produces a single binary combining Go code and the web UI
  • Supports macOS, Windows, and Linux per the project topics and features list

Trade-offs

  • Requires Go knowledge and familiarity with web frontend tooling
  • Version 3 is newly released and the latest release lists no binaries, so you may need to build it yourself
  • The README is truncated here, so detailed platform and setup requirements are not fully confirmed

How it compares

ProjectStarsTypeLevelUpdatedBest for
wails (this)36.9kFrameworkintermediate4 days agoGo programmers who want a desktop app with a web-style interface
electron124kFrameworkintermediate4 days agoWeb developers who want to ship a desktop app using skills they already have
nativefier35.2kCLIbeginner3.1 years agoPeople who want a site like WhatsApp Web or Gmail in its own window
atom60.7kAppbeginner3.8 years agoDevelopers who want a desktop code editor they can customize with packages
yazi43.2kAppintermediate4 days agoPeople who already spend time in a terminal and want a faster way to browse folders
marktext63.5kAppbeginner4 days agoPeople who write notes or articles in Markdown and want a clean, minimal editor

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.