cmus is a free open-source terminal music player for Unix-like systems. Learn about features, supported formats, pros, cons and FAQs in this 2026 guide.
cmus, or C* Music Player, is a free and open-source, terminal-based music player for Unix-like operating systems, originally written by Timo Hirvonen with development dating to around 2004. It is released under the GPL-2.0-or-later license and has been maintained by community contributors since a 2008-2010 fork and merge that brought it under its current maintainership.
The player is written in C and runs entirely inside a terminal using an ncurses-based interface, which contributes to its small resource footprint and fast startup compared with GUI-based music players.
cmus supports a wide range of input formats including Ogg Vorbis, MP3, FLAC, Opus, Musepack, WavPack, WAV, AAC, MP4, and audio CDs, with additional formats available when built with ffmpeg, libmodplug, or BASS support.
On output, it supports numerous audio backends including ALSA, PulseAudio, JACK, CoreAudio, and sndio, and it runs on Linux, macOS, FreeBSD, NetBSD, OpenBSD, and Cygwin, making it broadly compatible across Unix-like systems.
Every command in cmus can be bound to a custom key combination, and the player can execute external shell commands in response to playback events, which the community uses to build integrations such as Last.fm or Libre.fm scrobbling through third-party scripts.
The project's history includes a 2008 community fork, cmus-unofficial, created after original author Timo Hirvonen paused development; the fork was merged back into the official project in February 2010 and has been maintained by community contributors since.
cmus stands for C* Music Player, reflecting that it is written in the C programming language.
Yes. cmus is free and open source, released under the GPL-2.0-or-later license, with no paid tiers or commercial licensing.
cmus runs on Linux, macOS, FreeBSD, NetBSD, OpenBSD, Cygwin, and OpenWrt, and does not officially support native Windows.
Yes. cmus supports FLAC, Opus, Ogg Vorbis, MP3, AAC, WAV, MP4, and additional formats when built with ffmpeg, libmodplug, or BASS support.
cmus does not include built-in scrobbling, but its ability to run external commands on playback events is commonly used with third-party scripts to scrobble to services like Last.fm or Libre.fm.
cmus was originally written by Timo Hirvonen and has been maintained by community contributors since a 2008 fork was merged back into the official project in February 2010; development continues on GitHub under the cmus organization.