Github url


by gizak

gizak /termui

Golang terminal dashboard

10.1K Stars 635 Forks Last release: Not found MIT License 391 Commits 5 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:


demo cast under osx 10.10;; Menlo Regular 12pt.)

termui is a cross-platform and fully-customizable terminal dashboard and widget library built on top of termbox-go. It is inspired by blessed-contrib and tui-rs and written purely in Go.


  • Several premade widgets for common use cases
  • Easily create custom widgets
  • Position widgets either in a relative grid or with absolute coordinates
  • Keyboard, mouse, and terminal resizing events
  • Colors and styling


Go modules

It is not necessary to

go get
termui, since Go will automatically manage any imported dependencies for you. Do note that you have to include
in the import statements as shown in the 'Hello World' example below.


Add with

dep ensure -add
. With Dep,
should not be included in the import statements.

Hello World

package main

import ( "log"

ui ""


func main() { if err := ui.Init(); err != nil { log.Fatalf("failed to initialize termui: %v", err) } defer ui.Close()

p := widgets.NewParagraph()
p.Text = "Hello World!"
p.SetRect(0, 0, 25, 5)


for e := range ui.PollEvents() {
    if e.Type == ui.KeyboardEvent {



Run an example with

go run _examples/{example}.go
or run each example consecutively with
make run-examples



Related Works



We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.