Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. termui

termui

MITGo

A cross-platform, fully-customizable terminal dashboard and widget library for Go applications.

GitHubGitHub
13.6k stars818 forks0 contributors

What is termui?

termui is a Go library for creating terminal-based dashboards and user interfaces. It provides a set of customizable widgets and tools to build interactive, cross-platform terminal applications with support for events like keyboard input and mouse interactions. It solves the problem of building rich terminal interfaces without relying on external GUI frameworks.

Target Audience

Go developers building command-line tools, monitoring dashboards, or interactive terminal applications that require data visualization and user interaction.

Value Proposition

Developers choose termui for its simplicity, flexibility, and cross-platform support. It offers a comprehensive set of premade widgets while allowing easy creation of custom components, making it ideal for rapid development of terminal-based interfaces.

Overview

Golang terminal dashboard

Use Cases

Best For

  • Building terminal dashboards for system monitoring
  • Creating interactive CLI tools with visual feedback
  • Developing data visualization applications in the terminal
  • Implementing custom widgets for Go-based terminal UIs
  • Building cross-platform terminal applications with event handling
  • Rapid prototyping of terminal interfaces with premade components

Not Ideal For

  • Projects requiring modern web-based or graphical user interfaces with advanced visuals
  • Teams developing applications in programming languages other than Go
  • Applications demanding highly stable and actively maintained libraries with frequent, predictable updates

Pros & Cons

Pros

Premade Widgets Collection

Includes bar charts, gauges, lists, tables, and more, as shown in the extensive examples directory, enabling rapid development of common terminal UI components without reinventing the wheel.

Custom Widget Flexibility

Allows easy creation of custom widgets, emphasized in the philosophy, providing developers the freedom to tailor interfaces to specific needs beyond the premade options.

Cross-Platform Event Handling

Built on termbox-go, it supports keyboard, mouse, and terminal resizing events across platforms, making interactive terminal applications portable without extra configuration.

Simple Initialization

The Hello World example demonstrates minimal setup with ui.Init() and ui.Render(), lowering the barrier to entry for quickly prototyping terminal interfaces.

Cons

Maintenance Uncertainty

The README openly states the maintainer's fluctuating availability and invites contributors, indicating potential delays in updates, bug fixes, and long-term support.

Versioning Complexity

Stable releases are on version-numbered branches while new changes go to master first, a strategy that could confuse users and lead to instability if not carefully managed.

Limited Documentation

Documentation is provided via a wiki rather than comprehensive API docs, which may lack depth and structure, making advanced usage or troubleshooting more challenging.

Frequently Asked Questions

Quick Stats

Stars13,577
Forks818
Contributors0
Open Issues79
Last commit1 year ago
CreatedSince 2015

Tags

#dashboard#go-library#monitoring#data-visualization#terminal-ui#cross-platform#widget-library#cli-tools

Built With

G
Go
t
termbox-go

Included in

Go169.1k
Auto-fetched 2 hours ago

Related Projects

bubbleteabubbletea

A powerful little TUI framework 🏗

Stars43,908
Forks1,272
Last commit3 days ago
fxfx

Terminal JSON viewer & processor

Stars20,544
Forks483
Last commit2 months ago
lipglosslipgloss

Style definitions for nice terminal layouts 👄

Stars11,604
Forks383
Last commit3 days ago
gocuigocui

Minimalist Go package aimed at creating Console User Interfaces.

Stars10,595
Forks642
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub