# Awesome TUIs List of projects that provide terminal user interfaces ## Table of Contents - [Dashboards](#dashboards) - [Development](#development) - [Games](#games) - [Libraries](#libraries) - [Messaging](#messaging) - [Miscellaneous](#miscellaneous) - [Multimedia](#multimedia) - [Productivity](#productivity) - [Web](#web) ## Dashboards - [bashtop](https://github.com/aristocratos/bashtop) Resource manager written in bash - [chkservice](https://github.com/linuxenko/chkservice) Systemd units manager with ncurses, terminal interface - [cointop](https://github.com/miguelmota/cointop) The fastest and most interactive terminal based UI application for tracking cryptocurrencies - [ctop](https://github.com/bcicen/ctop) Top-like interface for container metrics - [dockly](https://github.com/lirantal/dockly) Immersive terminal interface for managing docker containers and services - [dry](https://github.com/moncho/dry) A Docker manager for the terminal - [fff](https://github.com/dylanaraps/fff) A simple file manager written in bash. - [Glances](https://github.com/nicolargo/glances) Glances an Eye on your system. A top/htop alternative. - [Glow](https://github.com/charmbracelet/glow) Render markdown on the CLI, with pizzazz! - [Goaccess](https://github.com/allinurl/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](https://github.com/xxxserxxx/gotop) A terminal based graphical activity monitor inspired by gtop and vtop - [Grafterm](https://github.com/slok/grafterm) Metrics dashboards on terminal, a Grafana inspired terminal version - [htop](https://github.com/hishamhm/htop) Interactive text-mode process viewer for Unix systems. It aims to be a better 'top' - [htui](https://github.com/PierreKieffer/htui) Heroku Terminal User Interface - [k9s](https://github.com/derailed/k9s) TUI for managing a Kubernetes cluster - [kmon](https://github.com/orhun/kmon) Linux Kernel Manager and Activity Monitor - [lazydocker](https://github.com/jesseduffield/lazydocker) The lazier way to manage everything docker - [sen](https://github.com/TomasTomecek/sen) Terminal User Interface for docker engine - [sysz](https://github.com/joehillen/sysz) An fzf terminal UI for systemctl - [tdash](https://github.com/jessfraz/tdash) A terminal dashboard with stats from Google Analytics, GitHub, Travis CI, and Jenkins. Very much built specific to me - [TermUI](https://github.com/gizak/termui) Golang terminal dashboard - [trek](https://github.com/franckverrot/trek) ncurses explorer for Hashicorp Nomad clusters - [WTF](https://github.com/senorprogrammer/wtf) The personal information dashboard for your terminal. ## Development - [amp](https://github.com/jmacdonald/amp) A complete text editor for your terminal - [austin-tui](https://github.com/P403n1x87/austin-tui) The top-like text-based user interface for Austin - [gitui](https://github.com/extrawurst/gitui) blazing fast terminal-ui for git written in rust - [grv](https://github.com/rgburke/grv) Terminal interface for viewing git repositories - [lazygit](https://github.com/jesseduffield/lazygit) Simple terminal UI for git commands - [micro](https://github.com/zyedidia/micro) A modern and intuitive terminal-based text editor - [mitmproxy](https://www.mitmproxy.org) A free and open source interactive HTTPS proxy - [pyautogit](https://github.com/jwlodek/pyautogit) A terminal UI for managing git repositories, written using [py_cui](https://github.com/jwlodek/py_cui) - [pudb](https://github.com/inducer/pudb) A console-based visual debugger for Python - [slap](https://github.com/slap-editor/slap) Sublime-like terminal-based text editor - [sls-dev-tools](https://github.com/Theodo-UK/sls-dev-tools) Dev Tools for the Serverless World - [tig](https://github.com/jonas/tig) Text-mode interface for git - [turbo](https://github.com/magiblot/turbo) An experimental text editor for the terminal, based on Scintilla and Turbo Vision - [vctui](https://github.com/thebsdbox/vctui) Console interface for vCenter ## Games - [2048-cli](https://github.com/tiehuis/2048-cli) The game 2048 for your Linux terminal - [bastet](https://github.com/fph/bastet) Evil falling block game - [Gameboy Emulator](https://github.com/gabrielrcouto/php-terminal-gameboy-emulator) A PHP Terminal GameBoy Emulator - [Greed](https://gitlab.com/esr/greed) A game of consumption. Eat as much as you can before munching yourself into a corner! - [moon-buggy](https://github.com/seehuhn/moon-buggy) Drive some car across the moon - [MyMan](https://sourceforge.net/projects/myman/) MyMan is a video game for color and monochrome text terminals in the genre of Namco's Pac-Man - [NetHack](https://github.com/NetHack/NetHack) Dungeon exploration game - [nInvaders](http://ninvaders.sourceforge.net/) Space Invaders - [nSnake](https://github.com/alexdantas/nSnake) The classic snake game with textual interface - [nudoku](https://github.com/jubalh/nudoku) ncurses based sudoku game - [steam-tui](https://github.com/dmadisetti/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. - [terminal-phase](https://gitlab.com/dustyweb/terminal-phase) Space shooter game that runs in your terminal! - [tinytetris](https://github.com/taylorconor/tinytetris) 80x23 terminal tetris! ## Libraries - [blessings](https://github.com/erikrose/blessings) A Python wrapper lib for ncurses that makes your code pretty to look at, complete with extensions known as [bubbles](https://github.com/charmbracelet/bubbles) - [bubbletea](https://github.com/charmbracelet/bubbletea) A Go framework based on Elm to build functional and stateful TUI apps - [FTXUI](https://github.com/ArthurSonzogni/FTXUI) 💻 C++ Functional Terminal User Interface. ❤️ - [gocui](https://github.com/jroimartin/gocui) Minimalist Go package aimed at creating Console User Interfaces - [ncurses](https://www.gnu.org/software/ncurses/) - [notcurses](https://github.com/dankamongmen/notcurses) blingful character graphics/TUI library. definitely not curses - [pterm](https://github.com/pterm/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](https://github.com/jwlodek/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. - [Python Prompt Toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) Library for building powerful interactive command line applications in Python - [tui-go](https://github.com/marcusolsson/tui-go) A UI library for terminal applications (deprecated) - [tui-rs](https://github.com/fdehau/tui-rs) Terminal user interfaces and dashboards using Rust - [Terminal.Gui](https://github.com/migueldeicaza/gui.cs) Cross Platform Terminal GUI toolkit for .NET - [tvision](https://github.com/magiblot/tvision) A modern port of Turbo Vision 2.0, cross-platform and Unicode support. ## Messaging - [gord](https://github.com/yellowsink/gord) TUI discord client. updated fork of the now-outdated cordless. - [Mutt](https://gitlab.com/muttmua/mutt) Email client - [sclack](https://github.com/haskellcamargo/sclack) Slack terminal client - [siggo](https://github.com/derricw/siggo) A terminal ui for signal-cli, written in Go - [Slack-term](https://github.com/erroneousboat/slack-term) Slack client for your terminal - [TelegramTUI](https://github.com/bad-day/TelegramTUI) Telegram client - [Weechat](https://weechat.org/) Extensible chat client ## Miscellaneous - [diary](https://github.com/actuday6418/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](https://github.com/wagoodman/dive) A tool for exploring each layer in a docker image - [emu2](https://github.com/dmsc/emu2) A simple DOS emulator for the Linux text console, supporting basic DOS system calls and console I/O. - [gif-for-cli](https://github.com/google/gif-for-cli) Convert a gif into ASCII - [gobang](https://github.com/TaKO8Ki/gobang) A cross-platform TUI database management tool written in Rust - [gpg-tui](https://github.com/orhun/gpg-tui) A terminal user interface for GnuPG - [jrnl](https://jrnl.sh/) Collect your thoughts and notes without leaving the command line. human-friendly. future-proof. secure. - [neoss](https://github.com/PabloLec/neoss) Socket statistics visualization and explanation tool for Unix systems. - [nmtui](https://developer.gnome.org/NetworkManager/stable/nmtui.html) ncurses network manager - [oha](https://github.com/hatoo/oha) HTTP load generator - [profanity](https://github.com/profanity-im/profanity) A cross-platfrom XMPP client. - [recoverpy](https://github.com/PabloLec/recoverpy) A TUI to recover overwritten or deleted data. - [rocket.term](https://github.com/gerstner-hub/rocket.term) Text based chat client for the Rocket.chat messaging solution. - [termdbms](https://github.com/mathaou/termdbms) A TUI for viewing and editing database files. - [termshark](https://github.com/gcla/termshark) Terminal UI for tshark - [ttyper](https://github.com/max-niederman/ttyper) Terminal-based typing test - [vifm](https://github.com/vifm/vifm) A TUI file manager with vi-keybindings and other vim like behaviour. - [wego](https://github.com/schachmat/wego) Weather app - [wavemon](https://github.com/uoaerg/wavemon) A wireless device monitoring application - [wttr.in](https://github.com/chubin/wttr.in) The right way to check the weather - [xplr](https://github.com/sayanarijit/xplr) A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf. ## Multimedia - [cmdpxl](https://github.com/knosmos/cmdpxl) Totally practical command-line image editor - [mps-youtube](https://github.com/mps-youtube/mps-youtube) Terminal based YouTube player and downloader - [roku-cli](https://github.com/winsbe01/roku-cli) A command line TUI remote for Roku - [soundcloud2000](https://github.com/grobie/soundcloud2000) A terminal client for soundcloud - [spotify-tui](https://github.com/Rigellute/spotify-tui) Spotify for the terminal written in Rust - [spotui](https://github.com/ceuk/spotui) Spotify client written in Python - [timg](https://github.com/hzeller/timg) A terminal image viewer - [tizonia-openmax-il](https://github.com/tizonia/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 ## Productivity - [goful](https://github.com/anmitsu/goful) a powerful TUI file manager written in Go - [khal](https://github.com/pimutils/khal) A standards based CLI calendar program, able to synchronize with CalDAV servers - [patat](https://github.com/jaspervdj/patat) Terminal-based presentations using Pandoc - [ranger](https://github.com/ranger/ranger) A VIM-inspired filemanager for the console - [sc-im](https://github.com/andmarti1424/sc-im) An ncurses spreadsheet program for terminal. Reignited version of sc - [taskline](https://github.com/perryrh0dan/taskline) Tasks, boards & notes for the command-line habitat - [taswarrior-tui](https://github.com/kdheepak/taskwarrior-tui) A Terminal User Interface for Taskwarrior - [tmux](https://github.com/tmux/tmux) Terminal multiplexer - [todoman](https://github.com/pimutils/todoman) A simple, standards-based (ics, DAV), cli task-manager - [topydo](https://github.com/topydo/topydo) A powerful todo list application using the todo.txt format - [TUI_ProjectManager](https://github.com/NicoDblc/TUI_ProjectManager) A simple project-based todo list written in Rust - [Visidata](https://github.com/saulpw/visidata) A terminal spreadsheet multitool for discovering and arranging data - [zelliji](https://github.com/zellij-org/zellij) A terminal workspace with batteries included ## Web - [browsh](https://github.com/browsh-org/browsh) A fully-modern text-based browser, rendering to TTY and browsers - [googlit](https://github.com/peterjschroeder/googlit) A TUI frontend to [googler](https://github.com/jarun/googler) - [hackernews-TUI](https://github.com/aome510/hackernews-TUI) A Terminal UI to browse Hacker News - [haxor-news](https://github.com/donnemartin/haxor-news) Browse Hacker News like a haxor: A Hacker News command line interface (CLI) - [LYNX](https://lynx.invisible-island.net/) A text based Terminal browser - [newsboat](https://github.com/newsboat/newsboat) An RSS/Atom feed reader for the text console - [Rainbowstream](https://github.com/orakaro/rainbowstream) A smart and nice Twitter client on terminal written in Python - [rtv](https://github.com/michael-lazar/rtv) Browse Reddit from your terminal - [tblogs](https://github.com/ezeoleaf/tblogs) Read and browse development blogs from your terminal - [w3m](https://github.com/tats/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](https://awesomeopensource.com/projects/tui) page. Looking for lightweight but not necessarily TUI? check out mayfrost's [alternatives list](https://github.com/mayfrost/guides/blob/master/ALTERNATIVES.md)! Enjoy Vim keybinds and don't want to learn new ones? check out the [Big Pile of Vim-like](https://vim.reversed.top) First-hand reviews for a lot of these tools and many, many more at k.mandla's [Inconsolation blog](https://inconsolation.wordpress.com/index/). The site also has a "surprise me with a random tool" link! [Tim's blog](http://tim.thechases.com/posts/cli/software-for-a-command-line-world/) cover more tools for no X, over ssh, and all CLI (not necessarily TUI tho).