Programming language: Go
Latest version: v0.4.0

tui-go alternatives and similar packages

Based on the "Advanced Console UIs" category.
Alternatively, view tui-go alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of tui-go or a related project?

Add another 'Advanced Console UIs' Package


tui: Terminal UI for Go

Build Status GoDoc Go Report Card [License MIT](LICENSE)

A UI library for terminal applications.

tui (pronounced tooey) provides a higher-level programming model for building rich terminal applications. It lets you build layout-based user interfaces that (should) gracefully handle resizing for you.

IMPORTANT: tui-go is still in an experimental phase so please don't use it for anything other than experiments, yet.

Update: I created tui-go as an experiment because I wanted a simpler way of creating terminal-based user interfaces. It has since then become a project, with all the work that comes with it. While it's been really fun, unfortunately I'm no longer able to maintain this project.

Since I started working on tui-go, a number of similar projects have popped up. One that I think shows great promise is rivo/tview, which embodies much of what I envisioned for tui-go. I highly recommend trying it out!

Thanks all of you who have contributed and supported tui-go!



go get github.com/marcusolsson/tui-go


package main

import "github.com/marcusolsson/tui-go"

func main() {
    box := tui.NewVBox(

    ui, err := tui.New(box)
    if err != nil {
    ui.SetKeybinding("Esc", func() { ui.Quit() })

    if err := ui.Run(); err != nil {

Getting started

If you want to know what it is like to build terminal applications with tui-go, check out some of the [examples](example).

Documentation is available at godoc.org.

Make sure you check out some of the projects using tui-go.

Once you've gotten started developing your first application with tui-go, you might be interested in learning about common patterns or how you can debug your applications.

tui-go is mainly influenced by Qt and offers a similar programming model that has been adapted to Go and the terminal.

For an overview of the alternatives for writing terminal user interfaces, check out this article by AppliedGo.


tui-go is released under the [MIT License](LICENSE).


If you're interested in chatting with users and contributors, join #tui-go on the Gophers Slack. If you're not already a part of the Slack workspace, you can join here. If you prefer a lower-bandwidth interface, see this article on connecting to Slack via IRC or XMPP.

*Note that all licence references and agreements mentioned in the tui-go README section above are relevant to that project's source code only.