Awesome list TUI and CLI apps

By Dev1ls at

Awesome TUIs

List of projects that provide terminal user interfaces

Dashboards

  • bashtop Resource manager written in bash
  • below A time traveling resource monitor for modern Linux systems
  • bmon A monitoring and debugging tool to capture networking related statistics and prepare them visually.
  • 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
  • eks-node-viewer visualizing dynamic node usage within a kubernetes cluster
  • fff A simple file manager written in bash.
  • 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
  • nnn n³ The unorthodox terminal file manager
  • nvtop GPUs process monitoring for AMD, Intel and NVIDIA
  • Planor The Cloud Aviator, dashboard for AWS, Vultr, Heroku, ...
  • Podman-tui TUI for Podman containers
  • 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
  • wander HashiCorp Nomad terminal client
  • 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
  • jqp A TUI playground to experiment with jq
  • 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
  • zee A modern text editor for the terminal written in Rust

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
  • onx Noughts & Crosses client-server game with your partner. Based on textual and python.
  • pokete A terminal based Pokemon like game
  • snake 🎮 A super minimal TUI snake game written in pure BASH v5.1+
  • 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!
  • tty-solitaire Solitaire runs in your terminal!
  • Wordle Script and library for Wordle, written in Raku

Libraries

  • Ashen An Elm inspired framework written in Swift
  • blessed A high-level terminal interface library for node.js
  • 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
  • CursedGL A notcurses-based software rasterizer inspired by OpenGL 1.X that renders directly to the terminal.
  • 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
  • gui.cs Console-based user interface toolkit for .NET applications
  • imtui An immediate mode text-based user interface library, supporting 256 ANSI colors and mouse/keyboard input.
  • ink React for interactive command-line apps
  • Lanterna A Java library for creating text-based UIs, very similar to the C library curses but with more functionality.
  • ncurses
  • nimwave Build text interfaces for the terminal or browser
  • 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.
  • Thermage Thermage is a PHP library that provides a fluent and incredibly powerful, object-oriented interface for customizing CLI output text color, background, formatting, theming and more.
  • 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.
  • 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.
  • UniCurses A Python module that is aimed at providing the Curses functionality on all operating systems.
  • urwid A console user interface library for Python on Linux, OSX, Cygwin or other unix-like OS.

Messaging

  • aerc Email client
  • Devzat Chat over SSH, written in Golang with self-hosting ability.
  • discordo A lightweight, secure, and feature-rich Discord terminal client
  • Gomphotherium A command line Mastodon client.
  • gomuks Matrix client
  • gord TUI discord client. updated fork of the now-outdated cordless.
  • matterhorn A Mattermost terminal client.
  • mcabber XMPP (Jabber) client
  • meli Email 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
  • Superhighway84 USENET-inspired decentralized internet discussion system
  • toot Mastodon CLI & TUI
  • tut Mastodon TUI client
  • Weechat Extensible chat client

Miscellaneous

  • adbtuifm A TUI file manager for Android, based on the Android Debug Bridge(ADB).
  • arttime An app that brings beauty of text-art together with functionality of clock, timer, and pattern-based time manager.
  • asciiMol Curses based ASCII molecule viewer for linux terminals.
  • 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
  • ec2-instance-selector A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory
  • 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
  • HumBLE Explorer A cross-platform, command-line and human-friendly Bluetooth Low Energy scanner
  • 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
  • thokr a sleek typing tui written in rust
  • ttyper Terminal-based typing test
  • tui-shop Something between a CLI and a GUI way of downloading TUIs/CLIs
  • 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
  • mpvc A mpc-like control interface for mpv
  • ncspot Cross-platform ncurses Spotify client written in Rust
  • 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
  • vlc VLC includes an ncurses interface, vlc --intf ncurses. See documentation at https://wiki.videolan.org/Console/
  • ytui-music Listen to music from youtube. Configurable, minimal, lightweight, private & beautiful music client.
  • ytdl-tui TUI for downloading Youtube videos
  • ytfzf A POSIX script that helps you find Youtube videos (without API) or Peertube videos and opens/downloads them using mpv/youtube-dl

Productivity

  • calcure Modern TUI calendar and task manager with minimal and customizable UI.
  • calcurse calendar and scheduling application for the command line
  • fml 📁 A stupid simple, fast file manager written in BASH v4.2+
  • goful a powerful TUI file manager written in Go
  • hledger-ui A fast TUI for browsing double entry bookkeeping data
  • h-m-m Hackers Mind Map
  • khal A standards based CLI calendar program, able to synchronize with CalDAV servers
  • lf A terminal file manager written in Go with heavy inspiration from ranger file manager.
  • mcfly Intelligent context-aware search engine for your shell history
  • patat Terminal-based presentations using Pandoc
  • pdiary A simple terminal diary journal application written in Python with encryption support
  • procmux - a TUI for running multiple commands in parallel in easily switchable terminals
  • 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
  • TUIFIManager A cross-platform terminal-based file manager (supports termux)
  • TUI_ProjectManager A simple project-based todo list written in Rust
  • tuihub A utility hub/dashboard for personal use
  • 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
  • zeit A command line tool for tracking time spent on activities.

Web

  • bombadillo A TUI browser for the non-web: Gopher, Gemini, Finger
  • browsh A fully-modern text-based browser, rendering to TTY and browsers
  • Canard A command line TUI client for the Journalist RSS aggregator.
  • castero A TUI app to listen to podcast
  • 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).