Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Go
  3. pterm

pterm

MITGov0.12.83

A modern Go module for beautifying console output with charts, progress bars, tables, trees, and interactive components.

Visit WebsiteGitHubGitHub
5.5k stars220 forks0 contributors

What is pterm?

PTerm is a Go module that enables developers to create visually appealing command-line interfaces. It solves the problem of dull terminal output by providing a rich set of components like charts, progress bars, and interactive menus, making CLIs more engaging and informative.

Target Audience

Go developers building command-line tools, utilities, or applications who want to enhance user experience with beautiful and interactive terminal interfaces.

Value Proposition

Developers choose PTerm for its comprehensive component library, ease of use, and cross-platform compatibility. It offers a modern alternative to basic terminal printing, with extensive customization and truecolor support for vibrant outputs.

Overview

✨ PTerm is a modern Go module to easily beautify console output. Featuring charts, progressbars, tables, trees, text input, select menus and much more 🚀 It's completely configurable and 100% cross-platform compatible.

Use Cases

Best For

  • Creating interactive CLI tools with menus and prompts
  • Displaying progress bars and spinners for long-running tasks
  • Visualizing data with charts and tables in the terminal
  • Building educational or demo programs with animated outputs
  • Enhancing logging with structured and colored output
  • Developing cross-platform CLI applications that work consistently everywhere

Not Ideal For

  • Projects that are purely headless or batch-oriented with no user interaction, as PTerm's rich components add unnecessary overhead.
  • Environments using legacy terminals or minimal ANSI support, where advanced features like TrueColor or interactive menus may not render correctly.
  • Teams developing in languages other than Go, since PTerm is exclusively a Go framework and cannot be integrated outside the Go ecosystem.
  • Simple CLI tools that only need basic text output, where using standard Go libraries like 'fmt' would be more lightweight and sufficient.

Pros & Cons

Pros

Comprehensive Component Library

Includes over 20 ready-to-use printers such as charts, progress bars, interactive menus, and tables, demonstrated in the extensive examples directory with source code for each component.

Cross-Platform Reliability

Designed to work consistently on Windows CMD, macOS iTerm2, Linux terminals, and CI systems like GitHub Actions, as highlighted in the features table and platform badges.

Extensive Customization Options

Components are fully configurable with padding, colors, styles, and themes, shown in demos like customizable boxes, headers, and gradient color effects.

TrueColor and RGB Support

Utilizes ANSI colors and RGB for vibrant, consistent terminal output, with examples demonstrating gradient fading and custom color schemes for advanced terminals.

High Test Coverage

Boasts over 28,000 automated tests and high code coverage, ensuring reliability and stability for production use, as indicated by the test count badges.

Cons

Go-Language Lock-in

As a Go module, it can only be used within Go projects, limiting its utility in polyglot environments or for developers not using Go.

Performance Overhead for Simplicity

For basic terminal printing or logging, the framework's rich components may introduce unnecessary bloat compared to lightweight alternatives like standard Go 'fmt' or 'log' packages.

Dependency on Terminal Capabilities

Advanced features like TrueColor, interactive elements, or live updates may fail or degrade on terminals with limited support, reducing portability in some edge cases.

Steeper Learning Curve for Advanced Use

While easy to use out-of-the-box, deep customization or combining multiple printers requires understanding the configuration system and API, which can be complex for newcomers.

Frequently Asked Questions

Quick Stats

Stars5,504
Forks220
Contributors0
Open Issues60
Last commit12 days ago
CreatedSince 2020

Tags

#tables#pretty#pretty-print#tui#progressbar#golang-library#golang#terminal-ui#cli#interactive-cli#cross-platform#go#charts#console-output#progress-bar#beautify#ansi-colors

Built With

G
Go

Links & Resources

Website

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
termuitermui

Golang terminal dashboard

Stars13,577
Forks818
Last commit1 year ago
lipglosslipgloss

Style definitions for nice terminal layouts 👄

Stars11,604
Forks383
Last commit3 days 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