Back to the index
Source repository
delightful CLI
A curated list of delightful CLI software for console lovers, and of course all FOSS.
Everyone is invited to contribute. To do so, please read our guidelines .
Table of contents
Audio players
Website
Summary
Written in
License
cmus
cmus is a small, fast and powerful console music player for Unix-like operating systems
C
GPLv2
mpg123
Fast console MPEG Audio Player and decoder library
C, Assembly
LGPL2.1
pianobar
pianobar is a free/open-source, console-based client for the personalized online radio Pandora
C
MIT
MPD clients
MPD stands for M usic P layer D aemon and it is one of the most extensible and powerful audio tools available on Linux. It acts as a "server" and you interact with it through a client, of which there are many, graphical, web-based, as well as CLI. For a broader list, see the Arch Wiki page
Website
Summary
Written in
License
clerk
MPD client using rofi or fzf
Perl
MIT
fmui
f zf m pd u ser i nterface
Shell
GPL-3.0
mpc
mpc
connects to a MPD and controls it according to commands and arguments passed to it
C
GPL-2.0
ncmpcpp
featureful ncurses based MPD client inspired by ncmpc
C++
GPL-2.0
BitTorrent
Website
Summary
Written in
License
Deluge
is a lightweight, Free Software, cross-platform BitTorrent client
Python
GPLv3
rTorrent
Simple and lightweight ncurses BitTorrent client. Requires libtorrent backend
C++
GPLv2
Transmission-CLI
A Fast, Easy and Free BitTorrent Client
C, Objective-C
GPLv2 or GPLv3
Download managers
Website
Summary
Written in
License
aria2
aria2 is a lightweight multi-protocol & multi-source command-line download utility
C++
GPLv2
lftp
Sophisticated command line file transfer program (ftp, http, sftp, fish, torrent)
C++
GPLv3
You-Get
Tiny command-line utility to download media contents (videos, audios, images) from the Web, in case there is no other handy way to do it
Python
MIT
youtube-dl
A command-line program to download videos from YouTube.com and a few more sites
Python
Unlicense
wget
Is a free software package for retrieving files using HTTP, HTTPS, FTP and FTPS the most widely-used Internet protocols
C
GPLv3
Email
Website
Summary
Written in
License
aerc
aerc is an email client that runs in your terminal
Go
MIT
alot
Terminal-based Mail User Agent
Python
GPLv3
Alpine
Fast, easy-to-use and Apache-licensed email client based on Pine
C
Apache
Himalaya
A CLI email client written in Rust. The aim of Himalaya is to extract the email logic into a simple (yet solid) CLI API that can be used directly from the terminal, from scripts, from UIs… Possibilities are endless!
Rust, Nix, Lua, Shell
BSD-3-Clause
mu/mu4e
Maildir indexer/searcher + emacs mail client + guile bindings
GPLv3
Mutt
Small but very powerful text-based mail client
C
GPLv2+
NeoMutt
Command line mail reader (or MUA). It's a fork of Mutt with added features
C
GPLv2
notmuchmail
A fast mail indexer built on top of xapian
C
GPLv3
S-nail
S-nail provides a simple and friendly environment for sending and receiving mail
C
BSD
File managers
Website
Summary
Written in
License
fff
A simple file manager written in bash
Bash
MIT
lf
Terminal file manager written in Go using server/client architecture
Go
MIT
Midnight Commander
Console-based, dual-paneled file manager
C
GPLv2
n³/nnn
Tiny, lightning fast, feature-packed file manager
C
BSD-2-Clause
ranger
A VIM-inspired filemanager for the console
Python
GPLv3
Vifm
Vifm is a file manager with curses interface, which provides Vi[m]-like environment for managing objects within file systems, extended with some useful ideas from mutt
C
GPLv2
Instant messaging
IRC
Website
Summary
Written in
License
BitchX
A full-featured, scriptable free software IRC client for UNIX-like systems
C
GPLv2
catgirl
is a TLS-only terminal IRC client.
C
GPLv3
ii
is a minimalist FIFO and filesystem-based IRC client
C
MIT/X
Irssi
Your text mode chatting application since 1999. IRC built-in. Multi-protocol friendly for module authors
C
GPLv2
tiny
an IRC client written in Rust with a clutter-free interface
Rust
MIT
WeeChat
Modular, lightweight ncurses-based IRC client
C
GPLv3
Matrix
Website
Summary
Written in
License
gomuks
A terminal based Matrix client written in Go
Go
AGPLv3
weechat-matrix
Weechat Matrix protocol script written in python
Python
MIT
Multi-protocol
Website
Summary
Written in
License
BitlBee
BitlBee brings IM (instant messaging) to IRC clients
C
GPLv2
Finch
Pidgin but CLI
C
GPLv2+
Tox
Website
Summary
Written in
License
Toxic
An ncurses-based Tox client
C
GPLv3
XMPP
Website
Summary
Written in
License
Profanity
Profanity is a console based XMPP client written in C using ncurses and libstrophe, inspired by Irssi
C
GPLv3+
Microblogging
Website
Summary
Written in
License
Rainbow Stream
A smart and nice Twitter client on terminal written in Python
Python
MIT
toot
Mastodon CLI & TUI client
Python
GPLv3
turses
A twitter client for the console
Python
GPLv3
tut
a Mastodon TUI
Go
MIT
Password Managers
Website
Summary
Written in
License
gopass
gopass is a simple but powerful password manager for your terminal
Go
MIT
KeePassXC
keepassxc-cli for the terminal, but installs a GUI
C++
Multiple
lesspass
LessPass is a stateless password manager
Python
GPLv3
pass
the standard unix password manager
Bash
GPLv2+
Podcast
Website
Summary
Written in
License
castero
TUI podcast client for the terminal
Python
MIT
castget
A command-line podcast downloader
C
GPLv2
marrie
A simple podcast client that runs on the CLI
Python
BSD-3-Clause
pcd
CLI podcast client (podcatcher) written in golang
Go
GPLv3
shellcaster
Terminal-based podcast manager built in Rust
Rust
GPLv3
RSS
Website
Summary
Written in
License
Canto
Canto is an Atom/RSS feed reader for the console that is meant to be quick, concise, and colorful
Python
GPLv2
Newsboat
Newsboat is an RSS/Atom feed reader for the text console. It’s an actively maintained fork of Newsbeuter
C++, Rust
MIT
Snownews
Snownews is a command-line RSS feed reader. It runs on everything Unix
C, Perl
GPLv3
Sfeed
Sfeed is a RSS and Atom parser (and some format programs). It converts RSS or Atom feeds from XML to a TAB-separated file
C
ISC
Text editors
Website
Summary
Written in
License
dte
A small and easy to use console text editor
C
GPLv2
Emacs
The extensible, customizable, self-documenting real-time display editor by GNU
Lisp, C
GPLv3
Helix
A kakoune / neovim inspired editor, written in Rust.
Rust
MPL-2.0
Howl
A general purpose, fast and lightweight editor with a keyboard-centric minimalistic user interface
Moonscript/Lua
MIT
Kakoune
Modal editor · Faster as in less keystrokes · Multiple selections · Orthogonal design
C++
Unlicense
micro
a modern and intuitive terminal-based text editor
Go
MIT
nano
Console text editor based on pico with on-screen key bindings help
C
GPLv2
Neovim
Vim's rebirth for the 21st century
Vim script, C, Lua
Apache
tilde
Tilde is a text editor for the console/terminal, which provides an intuitive interface for people accustomed to GUI environments such as Gnome, KDE and Windows
C++
GPLv3
vim
Vim is a highly configurable text editor built to make creating and changing any kind of text very efficient.
C, Vim Script
VIM License
Vis
A vi-like editor based on Plan 9's structural regular expressions
C, Lua
ISC
Office tools
Website
Summary
Written in
License
present
A terminal-based presentation tool with colors and effects.
Python
Apache 2.0
slides
A terminal-based presentation tool.
Go
MIT
Taskwarrior
A GTD, todo list, task management, command line utility with a multitude of features.
C++, Perl, Python
MIT
Video players
Website
Summary
Written in
License
MPlayer
Video player that supports a complete and versatile array of video and audio formats
C
GPLv2
mpv
Movie and audio player based on MPlayer and mplayer2
C, Objective-C, Lua
GPLv2
VLC
Command-line version of the famous video player that can play smoothly high definition videos in the TTY. The rc interface can be launched with vlc -I rc, and the ncurses interface can be launched with vlc -I ncurses
C
LGPG2.1 & GPLv2
(Non-)Web browsers
Website
Summary
Written in
License
amfora
A fancy terminal browser for the Gemini protocol
Go
GPLv3
astronaut
A Gemini browser for the terminal
Go
GPLv3
asuka
asuka is a Gemini Project client written in Rust with NCurses
Rust
MIT
AV-98
A CLI-based Gemini Client
Python
BSD 2-clause
bolluks
a bash Gemini client
Bash
MIT
Bombadillo
Bombadillo is a non-web client that supports Gopher, Gemini and many more
Go
GPLv3
Browsh
A fully-modern text-based browser, rendering to TTY and browsers
Javascript, Go
LGPL-2.1
Elpher
A Gopher/Gemini client for GNU Emacs
Lisp
GPLv3
Lynx
Text browser that supports http(s) and Gopher
ISO C
GPLv2
Miscellaneous
Website
Summary
Written in
License
asciinema
Easily record terminal sessions and replay them in a terminal as well as in a web browser.
Python
GPLv3
dijo
A scriptable habit tracker that runs in your terminal.
Rust
MIT
duf
Disk Usage/Free Utility - a better 'df' alternative
Go
MIT
Glow
A terminal based markdown reader designed from the ground up to bring out the beauty—and power—of the CLI
Go
MIT
ocm
Owl's Contact Manager - The pass-like contact manager
Shell
GPLv3
vdx
An intuitive CLI for processing video, powered by FFmpeg
Typescript
MIT
Maintainers
If you have questions or feedback regarding this list, then please create
an Issue in our tracker, and optionally @mention
one or more of our maintainers:
License