You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

170 lines
13 KiB
Markdown

# Awesome TUIs
6 years ago
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)
## <a name="dashboards"></a>Dashboards
4 years ago
- [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'
3 years ago
- [htui](https://github.com/PierreKieffer/htui) Heroku Terminal User Interface
5 years ago
- [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.
## <a name="development"></a>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
4 years ago
- [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
6 years ago
- [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
## <a name="games"></a>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!
5 years ago
- [tinytetris](https://github.com/taylorconor/tinytetris) 80x23 terminal tetris!
## <a name="libraries"></a>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)
3 years ago
- [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. ❤️
6 years ago
- [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.
- [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.
## <a name="messaging"></a>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
6 years ago
- [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
## <a name="miscellaneous"></a>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.
5 years ago
- [dive](https://github.com/wagoodman/dive) A tool for exploring each layer in a docker image
- [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
- [recoverpy](https://github.com/PabloLec/recoverpy) A TUI to recover overwritten or deleted data.
- [termdbms](https://github.com/mathaou/termdbms) A TUI for viewing and editing database files.
- [termshark](https://github.com/gcla/termshark) Terminal UI for tshark
3 years ago
- [ttyper](https://github.com/max-niederman/ttyper) Terminal-based typing test
- [wego](https://github.com/schachmat/wego) Weather app
- [wttr.in](https://github.com/chubin/wttr.in) The right way to check the weather
3 years ago
- [xplr](https://github.com/sayanarijit/xplr) A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
## <a name="multimedia"></a>Multimedia
3 years ago
- [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
5 years ago
- [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
## <a name="productivity"></a>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
## <a name="web"></a>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
---
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).