awesome-tuis/README.md
Jim Huang 278bdf81a4
Add tuibox (#92)
tuibox is a single-header terminal UI library, capable of creating
mouse-driven, interactive applications on the command line.
2022-03-29 09:05:39 -07:00

20 KiB

Awesome TUIs

List of projects that provide terminal user interfaces

Table of Contents

Dashboards

  • bashtop Resource manager written in bash
  • below A time traveling resource monitor for modern Linux systems
  • bottom A customizable graphical process/system monitor for the terminal.
  • btop++ Resource monitor with extras
  • chkservice Systemd units manager with ncurses, terminal interface
  • cointop The fastest and most interactive terminal based UI application for tracking cryptocurrencies
  • ctop Top-like interface for container metrics
  • damon TUI interface for Hashicorp Nomad
  • dockly Immersive terminal interface for managing docker containers and services
  • dry A Docker manager for the terminal
  • fff A simple file manager written in bash.
  • nnn n³ The unorthodox terminal file manager
  • Glances Glances an Eye on your system. A top/htop alternative.
  • Glow Render markdown on the CLI, with pizzazz!
  • Goaccess GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.
  • gotop A terminal based graphical activity monitor inspired by gtop and vtop
  • gping Ping, but with a graph
  • Grafterm Metrics dashboards on terminal, a Grafana inspired terminal version
  • htop Interactive text-mode process viewer for Unix systems. It aims to be a better 'top'
  • htui Heroku Terminal User Interface
  • k9s TUI for managing a Kubernetes cluster
  • kmon Linux Kernel Manager and Activity Monitor
  • lazydocker The lazier way to manage everything docker
  • sen Terminal User Interface for docker engine
  • sysz An fzf terminal UI for systemctl
  • tdash A terminal dashboard with stats from Google Analytics, GitHub, Travis CI, and Jenkins. Very much built specific to me
  • TermUI Golang terminal dashboard
  • trek ncurses explorer for Hashicorp Nomad clusters
  • WTF The personal information dashboard for your terminal.
  • zenith In terminal graphical metrics for your *nix system written in Rust

Development

  • austin-tui The top-like text-based user interface for Austin
  • delta A syntax-highlighting pager for git, diff, and grep output.
  • gitui blazing fast terminal-ui for git written in rust
  • git-crecord interactive selective commit tool
  • grv Terminal interface for viewing git repositories
  • lazygit Simple terminal UI for git commands
  • mitmproxy A free and open source interactive HTTPS proxy
  • pyautogit A terminal UI for managing git repositories, written using py_cui
  • pudb A console-based visual debugger for Python
  • sls-dev-tools Dev Tools for the Serverless World
  • tig Text-mode interface for git
  • vctui Console interface for vCenter

Editors

  • amp A complete text editor for your terminal
  • helix A post-modern text editor.
  • kakoune A modern, modal text editor with focus on interactivity and efficiency
  • micro A modern and intuitive terminal-based text editor
  • o Text editor limited by VT100, suitable for programming, writing git commit messages and editing Markdown
  • slap Sublime-like terminal-based text editor
  • turbo An experimental text editor for the terminal, based on Scintilla and Turbo Vision

Games

  • 2048-cli The game 2048 for your Linux terminal
  • bastet Evil falling block game
  • botany Virtual plant buddy
  • cbonsai A bonsai tree generator
  • clidle Play Wordle in your terminal. Also works over SSH!
  • Gameboy Emulator A PHP Terminal GameBoy Emulator
  • go-life Terminal based Conway's Game of Life
  • Greed A game of consumption. Eat as much as you can before munching yourself into a corner!
  • moon-buggy Drive some car across the moon
  • MyMan MyMan is a video game for color and monochrome text terminals in the genre of Namco's Pac-Man
  • NetHack Dungeon exploration game
  • nInvaders Space Invaders
  • nSnake The classic snake game with textual interface
  • nudoku ncurses based sudoku game
  • steam-tui Just a simple TUI client for steamcmd. Allows for the graphical launching, updating, and downloading of steam games through a simple terminal client.
  • sudoku-rs Sudoku built with tui-rs
  • sweeper Minesweeper game using curtsies
  • terminal-phase Space shooter game that runs in your terminal!
  • tinytetris 80x23 terminal tetris!

Libraries

  • Ashen An Elm inspired framework written in Swift
  • blessings A Python wrapper lib for ncurses that makes your code pretty to look at
  • bubbletea A Go framework based on Elm to build functional and stateful TUI apps, complete with extensions known as bubbles
  • FINAL CUT Library for creating terminal applications with text-based widgets
  • FTXUI 💻 C++ Functional Terminal User Interface. ❤️
  • gocui Minimalist Go package aimed at creating Console User Interfaces
  • imtui An immediate mode text-based user interface library, supporting 256 ANSI colors and mouse/keyboard input.
  • ncurses
  • notcurses blingful character graphics/TUI library. definitely not curses
  • pterm A modern go module to beautify console output. Featuring charts, progressbars, tables, trees, and much more! It's completely configurable and 100% cross-platform compatible.
  • py_cui Python library aimed at making widget based TUI/CUI interfaces as simple as possible. Supports standard widgets and popups like menus, textboxes, forms, file explorers etc.
  • pytermgui A simple yet powerful TUI framework for your Python (3.7+) applications.
  • Python Prompt Toolkit Library for building powerful interactive command line applications in Python
  • Rich is a Python library for rich text and beautiful formatting in the terminal.
  • tcell Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
  • textual is a TUI (Text User Interface) framework for Python inspired by modern web development.
  • tui-go A UI library for terminal applications (deprecated)
  • tui-rs Terminal user interfaces and dashboards using Rust
  • tuibox A single-header terminal UI library, capable of creating mouse-driven, interactive applications on the command line.
  • Terminal.Gui Cross Platform Terminal GUI toolkit for .NET
  • tview Terminal UI library with rich, interactive widgets — written in Golang
  • tvision A modern port of Turbo Vision 2.0, cross-platform and Unicode support.

Messaging

  • aerc Email client
  • Alpine Email client. Fork of Pine by University of Washington.
  • gomuks Matrix client
  • gord TUI discord client. updated fork of the now-outdated cordless.
  • matterhorn A Mattermost terminal client.
  • mcabber - XMPP (Jabber) client
  • Mutt Email client
  • sclack Slack terminal client
  • scli A simple terminal user interface for signal messenger
  • siggo A terminal ui for signal-cli, written in Go
  • Slack-term Slack client for your terminal
  • sup A curses threads-with-tags style email client
  • toot Mastodon CLI & TUI
  • Weechat Extensible chat client

Miscellaneous

  • asciiMol Curses based ASCII molecule viewer for linux terminals.
  • adbtuifm A TUI file manager for Android, based on the Android Debug Bridge(ADB).
  • broot A new way to see and navigate directory trees
  • diary A diary app written in Rust that encrypts both text and file data, and can decrypt and build a rich HTML representation of your diary when required.
  • dive A tool for exploring each layer in a docker image
  • emu2 A simple DOS emulator for the Linux text console, supporting basic DOS system calls and console I/O.
  • fzf A general-purpose command-line fuzzy finder
  • gif-for-cli Convert a gif into ASCII
  • gobang A cross-platform TUI database management tool written in Rust
  • gpg-tui A terminal user interface for GnuPG
  • jrnl Collect your thoughts and notes without leaving the command line. human-friendly. future-proof. secure.
  • lnav An advanced log file viewer for the small-scale
  • mapscii Braille & ASCII world map renderer for your console
  • neoss Socket statistics visualization and explanation tool for Unix systems.
  • nmtui ncurses network manager
  • oha HTTP load generator
  • profanity A cross-platfrom XMPP client.
  • ncdu disk usage analyzer with an ncurses interface
  • recoverpy A TUI to recover overwritten or deleted data.
  • rocket.term Text based chat client for the Rocket.chat messaging solution.
  • s-tui Terminal-based CPU stress and monitoring utility
  • tcpterm tcpterm is a packet visualizer in TUI.
  • termdbms A TUI for viewing and editing database files.
  • termshark Terminal UI for tshark
  • ttyper Terminal-based typing test
  • vifm A TUI file manager with vi-keybindings and other vim like behaviour.
  • wego Weather app
  • wavemon A wireless device monitoring application
  • wttr.in The right way to check the weather
  • xplr A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.

Multimedia

  • chafa A powerful utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal.
  • cmdpxl Totally practical command-line image editor
  • cmus A small, fast and powerful console music player for Unix-like operating systems.
  • favicon-editor Spartan grayscale favicon editor
  • image-sorter Terminal user interface for sorting images using key bindings written in Rust
  • invidtui A TUI Invidious client for Windows, Linux and MacOS, that fetches and plays audio/video from an invidious instance. Supports viewing and playing from playlists and channels as well.
  • mps-youtube Terminal based YouTube player and downloader
  • pyradio TUI web radio player with thousands of stations from around the world
  • roku-cli A command line TUI remote for Roku
  • soundcloud2000 A terminal client for soundcloud
  • spotify-tui Spotify for the terminal written in Rust
  • spotui Spotify client written in Python
  • timg A terminal image viewer
  • tizonia-openmax-il Command-line cloud music player for Linux with support for Spotify, Google Play Music, YouTube, SoundCloud, Dirble, Plex servers and Chromecast devices
  • ytui-music Listen to music from youtube. Configurable, minimal, lightweight, private & beautiful music client.

Productivity

  • goful a powerful TUI file manager written in Go
  • hledger-ui A fast TUI for browsing double entry bookkeeping data
  • khal A standards based CLI calendar program, able to synchronize with CalDAV servers
  • mcfly Intelligent context-aware search engine for your shell history
  • patat Terminal-based presentations using Pandoc
  • ranger A VIM-inspired filemanager for the console
  • sc-im An ncurses spreadsheet program for terminal. Reignited version of sc
  • taskline Tasks, boards & notes for the command-line habitat
  • taskwarrior-tui A Terminal User Interface for Taskwarrior
  • tmux Terminal multiplexer
  • todoman A simple, standards-based (ics, DAV), cli task-manager
  • topydo A powerful todo list application using the todo.txt format
  • TUI_ProjectManager A simple project-based todo list written in Rust
  • Visidata A terminal spreadsheet multitool for discovering and arranging data
  • zelliji A terminal workspace with batteries included
  • Vifm File manager with Vim bindings and scripting/configuration style

Web

  • bombadillo A TUI browser for the non-web: Gopher, Gemini, Finger
  • browsh A fully-modern text-based browser, rendering to TTY and browsers
  • googlit A TUI frontend to googler
  • hackernews-TUI A Terminal UI to browse Hacker News
  • haxor-news Browse Hacker News like a haxor: A Hacker News command line interface (CLI)
  • LYNX A text based Terminal browser
  • newsboat An RSS/Atom feed reader for the text console
  • Rainbowstream A smart and nice Twitter client on terminal written in Python
  • rttt A Hackernews, RSS and Reddit reader for the terminal written in C++.
  • rtv Browse Reddit from your terminal
  • tblogs Read and browse development blogs from your terminal
  • twterm A full-featured TUI Twitter client
  • w3m A text-mode WWW browser

There's a crazy amount of TUI projects out there, and we can't list them all (though we try!)

For more, see awesome-opensource's TUI Projects page.

Looking for lightweight but not necessarily TUI? check out mayfrost's alternatives list!

Enjoy Vim keybinds and don't want to learn new ones? check out the Big Pile of Vim-like

First-hand reviews for a lot of these tools and many, many more at k.mandla's Inconsolation blog. The site also has a "surprise me with a random tool" link!

Tim's blog cover more tools for no X, over ssh, and all CLI (not necessarily TUI tho).