Advanced Console UIs

46 projects

This subcategory covers libraries for interactive terminal programs: full-screen TUI frameworks, component kits, styling and layout, interactive prompts and forms, progress bars and spinners, ASCII charts, and color output. Go is a popular language for terminal tools because it produces single static binaries, and several of the best-known TUI libraries in any language are written in Go.

Charm's Bubble Tea is the leading framework; it follows The Elm Architecture, where a model receives messages, updates state and renders a view. Its companions are Bubbles for components such as lists, tables and text inputs, Lip Gloss for styling and layout, Huh for forms and prompts, and Glamour for rendering Markdown. VHS, also from Charm, records terminal sessions as GIFs from a script. Older widget-based libraries include gocui and termui, which has been quieter since 2025. pterm offers ready-made printers, tables and progress output for non-interactive tools, and schollz/progressbar, briandowns/spinner and asciigraph cover narrower needs.

For an interactive application with several screens, Bubble Tea and its companions are the most complete stack, though the Elm-style update loop takes some getting used to. For a CLI that only needs prompts, colored output or a progress bar, pick a focused library like Huh, pterm or progressbar instead. Respect NO_COLOR and check whether output is a terminal before drawing UI.

bubbleteaby charmbracelet

Go framework to build terminal apps, based on The Elm Architecture.

charm.land/bubbletea/v2Go 1.26+ 8 dependenciesv2.1.1updated 1d ago

45.6k

vhsby charmbracelet

Your CLI home video recorder - generate terminal GIFs from code for documentation and tutorials.

github.com/charmbracelet/vhsGo 1.26+ 20 dependenciesv0.12.1updated today

21.2k

fxby antonmedv

Terminal JSON viewer & processor.

github.com/antonmedv/fxGo 1.26+ 19 dependencies40.0.1updated 11d ago

20.7k

termuiby gizak

Go terminal dashboard based on termbox-go and inspired by blessed-contrib.

github.com/gizak/termui/v3Go 1.15+ 3 dependenciesupdated 1y ago

13.6k

lipglossby charmbracelet

Declaratively define styles for color, format and layout in the terminal.

charm.land/lipgloss/v2Go 1.26+ 10 dependenciesv2.0.6updated 1d ago

12k

gocuiby jroimartin

Minimalist Go library aimed at creating Console User Interfaces.

github.com/jroimartin/gocuiGo 1.16+ 1 dependencyupdated 1y ago

10.6k

bubblesby charmbracelet

TUI components for bubbletea.

charm.land/bubbles/v2Go 1.26+ 11 dependenciesv2.2.1updated 1d ago

9k

huhby charmbracelet

Lightweight library for building interactive forms and prompts in the terminal.

charm.land/huh/v2Go 1.25+ 10 dependenciesv2.0.3updated 1mo ago

7.2k

pterm

A library to beautify console output on every platform with many combinable components.

github.com/pterm/ptermGo 1.26+ 9 dependenciesv0.12.84updated 21d ago

5.6k

go-promptby c-bata

Library for building a powerful interactive prompt, inspired by python-prompt-toolkit.

github.com/c-bata/go-promptGo 1.14+ 5 dependenciesupdated 1y ago

5.5k

termbox-goby nsf

Termbox is a library for creating cross-platform text-based interfaces.

github.com/nsf/termbox-goGo 1.23+ 2 dependenciesupdated 2mo ago

4.8k

progressbarby schollz

Basic thread-safe progress bar that works in every OS.

github.com/schollz/progressbar/v3Go 1.25+ 6 dependenciesv3.19.1updated 1mo ago

4.7k

glamourby charmbracelet

Stylesheet-based markdown rendering for terminal applications.

charm.land/glamour/v2Go 1.26+ 9 dependenciesv2.0.1updated 2d ago

3.7k

asciigraphby guptarohit

Go package to make lightweight ASCII line graph ╭┈╯ in command line apps with no other dependencies.

github.com/guptarohit/asciigraphGo 1.11+ No dependencies v0.10.0updated 16d ago

3.1k

termdashby mum4k

Go terminal dashboard based on termbox-go and inspired by termui.

github.com/mum4k/termdashGo 1.24+ 4 dependenciesv0.20.0updated 1mo ago

3k

spinnerby briandowns

Go package to easily provide a terminal spinner with options.

github.com/briandowns/spinnerGo 1.17+ 2 dependenciesv1.23.2updated 4d ago

2.5k

mpbby vbauerster

Multi progress bar for terminal applications.

github.com/vbauerster/mpb/v8Go 1.26+ 4 dependenciesv8.16.2updated 13d ago

2.5k

uiprogressby gosuri

Flexible library to render progress bars in terminal applications.

github.com/gosuri/uiprogressGo 1.15+ 1 dependency0.0.1updated 2y ago

2.1k

termenvby muesli

Advanced ANSI style & color support for your terminal applications.

github.com/muesli/termenvGo 1.17+ 5 dependenciesv0.16.0updated 11mo ago

2k

uiliveby gosuri

Library for updating terminal output in real time.

github.com/gosuri/uiliveGo 1.10+ No dependencies v0.0.4updated 3y ago

1.7k

gookit/colorby gookit

Terminal color rendering tool library, support 16 colors, 256 colors, RGB color rendering output, compatible with Windows.

github.com/gookit/colorGo 1.18+ 3 dependenciesv1.6.3updated 4d ago

1.6k

auroraby logrusorgru

ANSI terminal colors that support fmt.Printf/Sprintf.

github.com/logrusorgru/aurora/v4Go 1.19+ 1 dependencyupdated 9d ago

1.5k

go-isattyby mattn

Isatty for golang.

github.com/mattn/go-isattyGo 1.20+ 1 dependencyupdated 3mo ago

927

go-colorableby mattn

Colorable writer for windows.

github.com/mattn/go-colorableGo 1.18+ 2 dependenciesv0.1.16updated 27d ago

817

uitableby gosuri

Library to improve readability in terminal apps using tabular data.

updated 4y ago

739

box-cli-maker

Render highly customizable boxes in the terminal.

github.com/box-cli-maker/box-cli-maker/v3Go 1.24+ 4 dependenciesv3.1.0updated 1mo ago

668

gommon/colorby labstack

Style terminal text.

github.com/labstack/gommon/colorGo 1.23+ v0.5.0updated 3mo ago

595

bubble-tableby Evertras

An interactive table component for bubbletea.

github.com/evertras/bubble-tableGo 1.25+ 5 dependenciesv0.23.0updated 1mo ago

578

simpletableby alexeyco

Simple tables in a terminal with Go.

github.com/alexeyco/simpletableGo 1.16+ 1 dependencyupdated 5y ago

553

yacspinby theckman

Yet Another CLi Spinner package, for working with terminal spinners.

github.com/theckman/yacspinGo 1.17+ 5 dependenciesv0.13.12updated 4y ago

456

go-tuiby grindlemire

A declarative terminal UI framework with templ-like templates, flexbox layout, and a language server for editor support.

github.com/grindlemire/go-tuiGo 1.25+ 2 dependenciesv0.24.0updated 1d ago

443

tabbyby cheynewallace

A tiny library for super simple Golang tables.

v1.1.1updated 5y ago

371

go-colortextby daviddengcn

Go library for color output in terminals.

github.com/daviddengcn/go-colortextGo 1.14+ 1 dependencyupdated 6y ago

218

loomby loom-go

Signal-based reactive components framework for building TUIs.

github.com/loom-go/loomGo 1.25+ 2 dependenciesv0.2.1updated 7mo ago

125

lazyenvby lazynop

TUI for browsing, comparing, and editing.env files.

github.com/lazynop/lazyenvGo 1.26+ 8 dependenciesv0.9.1updated 1d ago

69

ctcby wzshiming

The non-invasive cross-platform terminal color library does not need to modify the Print method.

github.com/wzshiming/ctcGo 1.13+ 1 dependencyupdated 16d ago

55

markerby cyucelen

Easiest way to match and mark strings for colorful terminal outputs.

github.com/cyucelen/markerGo 1.12+ 2 dependenciesupdated 3y ago

55

tableby tomlazar

Small library for terminal color based tables.

github.com/tomlazar/tableGo 1.15+ 3 dependenciesv0.1.2updated 3y ago

51

phoenixby phoenix-tui

High-performance TUI framework with Elm-inspired architecture, perfect Unicode rendering, and zero-allocation event system.

github.com/phoenix-tui/phoenixGo 1.25+ 5 dependenciesv0.2.4updated 2mo ago

46

goscafby iyashjayesh

Goscaf generates opinionated, production-quality Go project boilerplate via an interactive CLI. Stop copy-pasting skeleton code between projects.

github.com/iyashjayesh/goscafGo 1.25+ 3 dependenciesv0.1.1updated 3mo ago

31

go-atamanby workanator

Go library for rendering ANSI colored text templates in terminals.

updated 5y ago

20

go-paletteby abusomani

Go library that provides elegant and convenient style definitions using ANSI colors. Fully compatible & wraps the fmt library for nice terminal layouts.

github.com/abusomani/go-paletteGo 1.19+ 1 dependencyv1.1.0updated 3y ago

20

crab-config-files-templatingby alfiankan

Dynamic configuration file templating tool for kubernetes manifest or general configuration files.

github.com/alfiankan/crab-config-files-templatingGo 1.18+ 2 dependenciesv1.0.8updated 4y ago

8

lazyteamsby agmonetti

Keyboard-driven terminal user interface for Microsoft Teams.

github.com/agmonetti/lazyteamsGo 1.26+ 7 dependenciesv0.1.5updated 3d ago

7

eyezby tech-thinker

Eyez is a handy CLI tool that lets you view images directly in your terminal, with support for most terminal emulators.

github.com/tech-thinker/eyezGo 1.25+ 5 dependenciesv1.6.0updated 12d ago

2

rummageby rummage-dev

Cross-platform terminal file/folder picker with fuzzy search, multi-select, and a preview pane.

github.com/rummage-dev/rummageGo 1.25+ 5 dependenciesv0.3.2updated 16d ago

0
Esc

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