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.

239 lines
20 KiB
Markdown

# Awesome TUIs
6 years ago
List of projects that provide terminal user interfaces
## Table of Contents
- [Dashboards](#dashboards)
- [Development](#development)
- [Editors](#editors)
- [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
3 years ago
- [below](https://github.com/facebookincubator/below) A time traveling resource monitor for modern Linux systems
2 years ago
- [bottom](https://github.com/ClementTsang/bottom) A customizable graphical process/system monitor for the terminal.
3 years ago
- [btop++](https://github.com/aristocratos/btop) Resource monitor with extras
- [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
3 years ago
- [damon](https://github.com/hashicorp/damon) TUI interface for Hashicorp Nomad
- [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.
- [nnn](https://github.com/jarun/nnn) n³ The unorthodox terminal file manager
- [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
2 years ago
- [gping](https://github.com/orf/gping) Ping, but with a graph
- [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.
2 years ago
- [zenith](https://github.com/bvaisvil/zenith) In terminal graphical metrics for your *nix system written in Rust
## <a name="development"></a>Development
- [austin-tui](https://github.com/P403n1x87/austin-tui) The top-like text-based user interface for Austin
- [delta](https://github.com/dandavison/delta) A syntax-highlighting pager for git, diff, and grep output.
4 years ago
- [gitui](https://github.com/extrawurst/gitui) blazing fast terminal-ui for git written in rust
- [git-crecord](https://github.com/andrewshadura/git-crecord) interactive selective commit tool
- [grv](https://github.com/rgburke/grv) Terminal interface for viewing git repositories
- [lazygit](https://github.com/jesseduffield/lazygit) Simple terminal UI for git commands
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
- [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
- [vctui](https://github.com/thebsdbox/vctui) Console interface for vCenter
## <a name="editors"></a>Editors
- [amp](https://github.com/jmacdonald/amp) A complete text editor for your terminal
- [helix](https://helix-editor.com/) A post-modern text editor.
- [kakoune](http://kakoune.org/) A modern, modal text editor with focus on interactivity and efficiency
- [micro](https://github.com/zyedidia/micro) A modern and intuitive terminal-based text editor
- [o](https://github.com/xyproto/o) Text editor limited by VT100, suitable for programming, writing git commit messages and editing Markdown
- [slap](https://github.com/slap-editor/slap) Sublime-like terminal-based text editor
- [turbo](https://github.com/magiblot/turbo) An experimental text editor for the terminal, based on Scintilla and Turbo Vision
## <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
- [botany](https://github.com/jifunks/botany/) Virtual plant buddy
- [cbonsai](https://gitlab.com/jallbrit/cbonsai) A bonsai tree generator
- [clidle](https://github.com/ajeetdsouza/clidle) Play Wordle in your terminal. Also works over SSH!
- [Gameboy Emulator](https://github.com/gabrielrcouto/php-terminal-gameboy-emulator) A PHP Terminal GameBoy Emulator
3 years ago
- [go-life](https://github.com/sachaos/go-life) Terminal based Conway's Game of Life
- [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.
- [sudoku-rs](https://github.com/MitchelPaulin/sudoku-rs) Sudoku built with tui-rs
- [sweeper](https://github.com/igor47/sweeper) Minesweeper game using curtsies
- [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
- [Ashen](https://github.com/colinta/Ashen) An Elm inspired framework written in Swift
- [blessings](https://github.com/erikrose/blessings) A Python wrapper lib for ncurses that makes your code pretty to look at
- [bubbletea](https://github.com/charmbracelet/bubbletea) A Go framework based on Elm to build functional and stateful TUI apps, complete with extensions known as [bubbles](https://github.com/charmbracelet/bubbles)
- [FINAL CUT](https://github.com/gansm/finalcut) Library for creating terminal applications with text-based widgets
3 years ago
- [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
- [imtui](https://github.com/ggerganov/imtui) An immediate mode text-based user interface library, supporting 256 ANSI colors and mouse/keyboard input.
- [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.
2 years ago
- [pytermgui](https://github.com/bczsalba/pytermgui) A simple yet powerful TUI framework for your Python (3.7+) applications.
- [Python Prompt Toolkit](https://github.com/prompt-toolkit/python-prompt-toolkit) Library for building powerful interactive command line applications in Python
- [Rich](https://github.com/willmcgugan/rich) is a Python library for rich text and beautiful formatting in the terminal.
- [tcell](https://github.com/gdamore/tcell) Tcell is an alternate terminal package, similar in some ways to termbox, but better in others.
- [textual](https://github.com/willmcgugan/textual) is a TUI (Text User Interface) framework for Python inspired by modern web development.
- [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
- [tuibox](https://github.com/Cubified/tuibox) A single-header terminal UI library, capable of creating mouse-driven, interactive applications on the command line.
- [Terminal.Gui](https://github.com/migueldeicaza/gui.cs) Cross Platform Terminal GUI toolkit for .NET
- [tview](https://github.com/rivo/tview/) Terminal UI library with rich, interactive widgets — written in Golang
- [tvision](https://github.com/magiblot/tvision) A modern port of Turbo Vision 2.0, cross-platform and Unicode support.
## <a name="messaging"></a>Messaging
- [aerc](https://aerc-mail.org/) Email client
- [Alpine](https://alpine.x10host.com) Email client. Fork of Pine by University of Washington.
- [gomuks](https://github.com/tulir/gomuks) Matrix client
- [gord](https://github.com/yellowsink/gord) TUI discord client. updated fork of the now-outdated cordless.
- [matterhorn](https://github.com/matterhorn-chat/matterhorn) A Mattermost terminal client.
- [mcabber](https://mcabber.com/) - XMPP (Jabber) client
- [Mutt](https://gitlab.com/muttmua/mutt) Email client
6 years ago
- [sclack](https://github.com/haskellcamargo/sclack) Slack terminal client
- [scli](https://github.com/isamert/scli/) A simple terminal user interface for signal messenger
- [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
- [sup](https://github.com/sup-heliotrope/sup) A curses threads-with-tags style email client
- [toot](https://github.com/ihabunek/toot) Mastodon CLI & TUI
- [Weechat](https://weechat.org/) Extensible chat client
## <a name="miscellaneous"></a>Miscellaneous
2 years ago
- [asciiMol](https://github.com/dewberryants/asciiMol) Curses based ASCII molecule viewer for linux terminals.
- [adbtuifm](https://github.com/darkhz/adbtuifm) A TUI file manager for Android, based on the Android Debug Bridge(ADB).
- [broot](https://dystroy.org/broot/) A new way to see and navigate directory trees
- [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
- [emu2](https://github.com/dmsc/emu2) A simple DOS emulator for the Linux text console, supporting basic DOS system calls and console I/O.
- [fzf](https://github.com/junegunn/fzf) A general-purpose command-line fuzzy finder
- [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.
- [lnav](https://lnav.org/) An advanced log file viewer for the small-scale
- [mapscii](https://github.com/rastapasta/mapscii) Braille & ASCII world map renderer for your console
- [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.
2 years ago
- [ncdu](https://dev.yorhel.nl/ncdu) disk usage analyzer with an ncurses interface
- [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.
- [s-tui](https://github.com/amanusk/s-tui) Terminal-based CPU stress and monitoring utility
3 years ago
- [tcpterm](https://github.com/sachaos/tcpterm) tcpterm is a packet visualizer in TUI.
- [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
- [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
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
- [chafa](https://hpjansson.org/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.
3 years ago
- [cmdpxl](https://github.com/knosmos/cmdpxl) Totally practical command-line image editor
- [cmus](https://cmus.github.io/) A small, fast and powerful console music player for Unix-like operating systems.
- [favicon-editor](https://github.com/xyproto/favicon-editor) Spartan grayscale favicon editor
- [image-sorter](https://github.com/jgalat/image-sorter) Terminal user interface for sorting images using key bindings written in Rust
- [invidtui](https://github.com/darkhz/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](https://github.com/mps-youtube/mps-youtube) Terminal based YouTube player and downloader
- [pyradio](https://github.com/coderholic/pyradio) TUI web radio player with thousands of stations from around the world
- [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
- [ytui-music](https://github.com/sudipghimire533/ytui-music) Listen to music from youtube. Configurable, minimal, lightweight, private & beautiful music client.
## <a name="productivity"></a>Productivity
- [goful](https://github.com/anmitsu/goful) a powerful TUI file manager written in Go
2 years ago
- [hledger-ui](https://github.com/simonmichael/hledger) A fast TUI for browsing double entry bookkeeping data
- [khal](https://github.com/pimutils/khal) A standards based CLI calendar program, able to synchronize with CalDAV servers
- [mcfly](https://github.com/cantino/mcfly) Intelligent context-aware search engine for your shell history
- [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
- [taskwarrior-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
2 years ago
- [Vifm](https://vifm.info) File manager with Vim bindings and scripting/configuration style
## <a name="web"></a>Web
- [bombadillo](https://bombadillo.colorfield.space/) A TUI browser for the non-web: Gopher, Gemini, Finger
- [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
- [rttt](https://gitlab.com/BlackEdder/rttt) A Hackernews, RSS and Reddit reader for the terminal written in C++.
- [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
- [twterm](https://github.com/ryota-ka/twterm) A full-featured TUI Twitter client
- [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).