GUI

31 projects

Go has no GUI toolkit in its standard library, so desktop apps choose among three approaches: toolkits that draw their own widgets, apps that render an HTML interface in the operating system's webview, and bindings to native toolkits such as GTK, Qt, Cocoa or Win32. Each affects binary size, look and feel, and how easy cross-compilation is, since most options need cgo.

Fyne is the most popular Go-native toolkit; it draws its own Material-inspired widgets and targets desktop and mobile from one codebase. Cogent Core similarly renders its own widgets for desktop, mobile and web. Wails pairs a Go backend with a web frontend in the system webview, and webview/webview provides a lighter webview window with JavaScript bindings. For native toolkits, gotk3 binds GTK3, DarwinKit targets macOS, and walk is Windows-only. therecipe/qt and andlabs/ui have been quiet for years. Smaller utilities include systray for tray icons, zenity for simple dialogs, and robotgo for automating mouse and keyboard.

If your team knows web technologies, Wails gives a familiar UI layer with a Go backend. If you want a pure Go codebase and consistent appearance across platforms, Fyne is the most mature. Choose native bindings only when a platform's exact look matters, and plan builds per operating system, since cgo makes cross-compiling harder.

fyneby fyne-io

Cross platform native GUIs designed for Go based on Material Design. Supports: Linux, macOS, Windows, BSD, iOS and Android.

fyne.io/fyne/v2Go 1.22+ 37 dependenciesv2.8.2updated 6d ago

28.8k

webviewby zserge

Cross-platform webview window with simple two-way JavaScript bindings (Windows / macOS / Linux).

updated 12d ago

14.3k

robotgoby go-vgo

Go Native cross-platform GUI system automation. Control the mouse, keyboard and other.

github.com/go-vgo/robotgoGo 1.26+ 13 dependenciesv1.3.7updated 6d ago

10.9k

qtby therecipe

Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi).

github.com/therecipe/qt5 dependenciesupdated 2y ago

10.8k

appby murlokswarm

Package to create apps with GO, HTML and CSS. Supports: MacOS, Windows in progress.

github.com/maxence-charriere/go-app/v11Go 1.26+ 3 dependenciesv11.1.4updated 2d ago

9k

uiby andlabs

Platform-native GUI library for Go. Cross platform.

updated 4y ago

8.4k

walkby lxn

Windows application library kit for Go.

updated 2y ago

7.1k

DarwinKitby progrium

Build native macOS applications using Go.

github.com/progrium/darwinkitGo 1.18+ 1 dependencyv0.5.0updated 1y ago

5.4k

systrayby getlantern

Cross platform Go library to place an icon and menu in the notification area.

github.com/getlantern/systrayGo 1.13+ 4 dependenciesupdated 2y ago

3.7k

go-sciterby sciter-sdk

Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. Cross platform.

go-1.9updated 3y ago

2.6k

Cogent Coreby cogentcore

A framework for building 2D and 3D apps that run on macOS, Windows, Linux, iOS, Android, and the web.

cogentcore.org/coreGo 1.27+ 42 dependenciesv0.5.0updated today

2.4k

gotk3

Go bindings for GTK3.

github.com/gotk3/gotk3Go 1.14+ No dependencies v0.6.4.1updated 11mo ago

2.2k

Spotby roblillack

Reactive, cross-platform desktop GUI toolkit.

github.com/roblillack/spotGo 1.21+ 1 dependencyv0.3.2updated 1y ago

1.3k

zenityby ncruces

Cross-platform Go library and CLI to create simple dialogs that interact graphically with the user.

github.com/ncruces/zenityGo 1.25+ 7 dependenciesv0.10.15updated 4d ago

930

energyby energye

Cross-platform based on LCL(Native System UI Control Library) and CEF(Chromium Embedded Framework) (Windows/ macOS / Linux)

github.com/energye/energy/v3Go 1.20+ 7 dependenciesv2.5.6updated 3mo ago

620

gosx-notifierby deckarep

OSX Desktop Notifications library for Go.

updated 6y ago

590

cimgui-goby AllenDang

Auto generated Go wrapper for Dear ImGui via cimgui.

github.com/AllenDang/cimgui-goGo 1.25+ 3 dependenciesv1.6.1updated 18d ago

543

gogpu/uiby gogpu

GPU-accelerated GUI toolkit with 22 widgets, 3 design systems (Material, Fluent, Cupertino), reactive signals, and zero CGO (part of GoGPU ecosystem).

github.com/gogpu/uiGo 1.25+ 7 dependenciesv0.1.54updated 1mo ago

501

gowdby dtylman

Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. Cross platform.

github.com/dtylman/gowdGo 1.18+ 2 dependenciesupdated 3y ago

435

unisonby richardwilkes

A unified graphical user experience toolkit for Go desktop applications. macOS, Windows, and Linux are supported.

github.com/richardwilkes/unisonGo 1.27+ 11 dependenciesv0.120.0updated today

349

trayhostby shurcooL

Cross-platform Go library to place an icon in the host operating system's taskbar.

github.com/shurcooL/trayhostGo 1.19+ No dependencies updated 2y ago

261

gogpu/systrayby gogpu

Pure Go system tray library for Windows, macOS, and Linux with zero CGO (part of GoGPU ecosystem).

github.com/gogpu/systrayGo 1.25+ 3 dependenciesv0.3.0updated today

82

protonby CzaxStudio

Pure Go immediate-mode GUI framework built on Gio with zero Cgo dependencies.

github.com/CzaxStudio/protonGo 1.22+ 1 dependencyv0.8.0updated 1mo ago

55

mac-sleep-notifierby prashantgupta24

OSX Sleep/Wake notifications in golang.

github.com/prashantgupta24/mac-sleep-notifier1 dependencyv1.0.1updated 7y ago

41

mac-activity-trackerby prashantgupta24

OSX library to notify about any (pluggable) activity on your machine.

github.com/prashantgupta24/activity-trackerGo 1.21+ 5 dependenciesv1.0.1updated 3y ago

33

goradd/html5tagby goradd

Library for outputting HTML5 tags.

github.com/goradd/html5tagGo 1.16+ No dependencies v1.0.3updated 2y ago

14

AppIndicator Goby gopherlibs

Go bindings for libappindicator3 C library.

github.com/gopherlibs/appindicatorGo 1.24+ 1 dependencyv1.2.0updated 1y ago

5

gio

Gio is a library for writing cross-platform immediate mode GUI-s in Go. Gio supports all the major platforms: Linux, macOS, Windows, Android, iOS, FreeBSD, OpenBSD and WebAssembly.

gioui.org

g

go-gtk

Go bindings for GTK.

mattn.github.io

G

Goey

Cross platform UI toolkit aggregator for Windows / Linux / Mac. GTK, Cocoa, Windows API

bitbucket.org

Wails

Mac, Windows, Linux desktop apps with HTML UI using built-in OS HTML renderer.

wails.io

Esc

Type to search every entry. ↑↓ to move, Enter to open.