ncmpc(1) curses Music Player Daemon (MPD) client.


ncmpc [options]


ncmpc is a client for MPD, the Music Player Daemon. ncmpc connects to a MPD running on a machine on the local network.

By default, ncmpc connects to localhost:6600. This can be changed either at compile-time, or by exporting the MPD_HOST and MPD_PORT environment variables, or by the command line options --host and --port.

$ ncmpc --host=musicserver --port=44000

To use a password with mpd, set MPD_HOST to password@host or use the command line option --password. Values from the command line overrides values from the environment.

Read more about MPD on


-?, --help
Display help.
-V, --version
Display version information and build-time configuration.
-c, --colors
Enable colors.
-C, --no-colors
Disable colors.
-m, --mouse
Enable mouse.
-M, --no-mouse
Disable mouse.
-h, --host=HOSTNAME
Specify MPD host.
-p, --port=PORT
Connect to server on PORT.
-P, --password=PASSWORD
Use password when connecting.
-f, --config=FILE
Read configuration from file.
-k, --key-file=FILE
Read key bindings from FILE.
Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options.


When ncmpc starts it tries to read the user's configuration file, ~/.ncmpc/config. If no user configuration file is found then ncmpc tries to load the global settings from $SYSCONFDIR/ncmpc/config (the actual path is displayed in the output of the --version option). An example configuration file (config.sample) should be provided with ncmpc.


host = HOST
Connect to mpd running on the specified host.
port = PORT
Connect to mpd on the specified port.
password = PASSWORD
Connect to mpd using the specified password.
timeout = TIMEOUT
Attempt to reconnect to mpd if a response to a command is not received within TIMEOUT seconds. Specifying a value in the configuration file overrides the "MPD_TIMEOUT" environment variable. If no timeout is specified in the configuration file or in the environment, the default is 5 seconds.


enable-mouse = yes|no
Enable mouse support (if enabled at compile time).
screen-list = SCREEN1 SCREEN2...
A list of screens to cycle through when using the previous/next screen commands. Valid choices, if enabled at compile time, are playlist, browse, artist, help, search, song, keydef, lyrics, outputs, and chat.
search-mode = MODE
Default search mode for the search screen. MODE must be one of title, artist, album, filename, and artist+title, or an interger index (0 for title, 1 for artist etc.).
auto-center = yes|no
Enable/disable auto center mode. When auto center mode is enabled ncmpc centers the current track in the playlist window.
scroll-offset = NUM
Keep at least NUM lines above and below the cursor on list windows, if possible.
find-show-last = yes|no
Show the most recent query instead of a blank line for a find.
find-wrap = yes|no
Wrapped find mode.
wrap-around = yes|no
Wrapped cursor movement.
bell-on-wrap = yes|no
Ring bell when find wraps around.
audible-bell = yes|no
Sound audible bell on alerts.
visible-bell = yes|no
Visible bell on alerts.
crossfade-time = CROSSFADE TIME
Default crossfade time in seconds.
seek-time = NUM
Seek forward/backward by NUM seconds.
lyrics-timeout = NUM
Quits downloading lyrics of a song after the timeout of NUM seconds is reached, if NUM is greater than zero.
jump-prefix-only = yes|no
When using the jump command, search for the prefix of an entry. That means typing "m" will start to the first entry which begins with "m".
lyrics-autosave = yes|no
Automatically save lyrics after receiving them.
lyrics-show-plugin = yes|no
Show the name of the plugin used to receive lyrics on the lyrics screen.
text-editor = EDITOR
The text editor used for editing lyrics.
text-editor-ask = yes|no
Ask before starting an editor.
chat-prefix = PREFIX
Prefix messages send with the chat screen with PREFIX. By default they are prefixed with the current user name enclosed by < and > and a space (i.e. "<name> ").
second-column = yes|no
Display song length in a second column.


welcome-screen-list = yes|no
Show a list of the screens in the top line on startup.
wide-cursor = yes|no
Make the cursor as wide as the screen.
hardware-cursor = yes|no
Use the terminal's hardware cursor instead of inverse colors.
hide-cursor = NUM
Hide the playlist cursor after NUM seconds of inactivity.
scroll = yes|no
Scroll the title if it is too long for the screen.
scroll-sep = STRING
the separator to show at the end of the scrolling title.
list-format = SONG FORMAT
The format used to display songs in the main window.
search-format = SONG FORMAT
The format used to display songs in the search window. Default is to use list-format.
status-format = SONG FORMAT
The format used to display songs on the status line.
status-message-time = TIME
The time, in seconds, for which status messages will be displayed.
display-time = yes|no
Display the time in the status bar when idle.
timedisplay-type = elapsed/remaining
Sets whether to display remaining or elapsed time in the status window. Default is elapsed.
visible-bitrate = yes|no
Show the bitrate in the status bar when playing a stream.
set-xterm-title = yes|no
Change the XTerm title (ncmpc will not restore the title).
xterm-title-format = SONG FORMAT
The format used to for the xterm title when ncmpc is playing.


enable-colors = yes|no
Enable/disable colors.
color background = COLOR
Set the background color. If the background color is assigned to the keyword none, ncmpc will not change the background color. Standard colors are: black, red, green, yellow, blue, magenta, cyan and white. Terminal specific colors can also be given as integers.
color title = COLOR[,ATTRIBUTE]...
Set the text color and attributes for the title row. Text colors are the same as for the background. Valid attributes are: standout, underline, reverse, blink, dim, and bold.
color title-bold = COLOR[,ATTRIBUTE]...
Set the text color for the title row (the bold part).
color line = COLOR
Set the color of the line on the second row.
color line-flags = COLOR[,ATTRIBUTE]...
Set the text color used to indicate mpd flags on the second row.
color list = COLOR[,ATTRIBUTE]...
Set the text color in the main area of ncmpc.
color list-bold = COLOR[,ATTRIBUTE]...
Set the bold text color in the main area of ncmpc.
color browser-directory = COLOR[,ATTRIBUTE]...
Set the text color used to display directories in the browser window.
color browser-playlist = COLOR[,ATTRIBUTE]...
Set the text color used to display playlists in the browser window.
color progressbar = COLOR[,ATTRIBUTE]...
Set the color of the progress indicator.
color status-state = COLOR[,ATTRIBUTE]...
Set the text color used to display mpd status in the status window.
color status-song = COLOR[,ATTRIBUTE]...
Set the text color used to display song names in the status window.
color status-time = COLOR[,ATTRIBUTE]...
Set the text color used to display time the status window.
color alert = COLOR[,ATTRIBUTE]...
Set the text color used to display alerts in the status window.
colordef COLOR = R, G, B
Redefine any of the base colors. The RGB values must be integer values between 0 and 1000. Note: Only some terminals allow redefinitions of colors!


When ncmpc starts it tries to read user-defined key bindings from the ~/.ncmpc/keys file. If no user-defined key bindings are found then ncmpc tries to load the global key bindings from $SYSCONFDIR/ncmpc/keys (the actual path is displayed on the help screen).

You can view ncmpc's key bindings by pressing '1' (help) when ncmpc is running. To edit key bindings press 'K' and use the key editor in ncmpc.


Format of song display for status and the list window. The metadata delimiters are: %artist%, %albumartist%, %composer%, %performer%, %title%, %album%, %shortalbum%, %track%, %genre%, %name%, %time%, %date%, %file%, %shortfile%.

The [] operators are used to group output such that if none of the metadata delimiters between '[' and ']' are matched, then none of the characters between '[' and ']' are output; literal text is always output. '&' and '|' are logical operators for AND and OR. '#' is used to escape characters.

Some useful examples for format are:



   "[[%artist% - ]%title%]|%file%"

Another one is:

   "[%artist%|(artist n/a)] - [%title%|(title n/a)]"


If ncmpc has been compiled with "chat" support, it uses the client-to-client protocol available in MPD 0.17 or higher to communicate with other clients. In order to receive messages it subscribes to the channel with the name "chat", and displays any message sent there as-is. When the user enters a message, it is first with the prefix specified by the chat-prefix option (or the default prefix), and then sent to the "chat" channel for others to read.


Report bugs on


Since MPD uses UTF-8, ncmpc needs to convert characters to the charset used by the local system. If you get character conversion errors when your running ncmpc you probably need to set up your locale. This is done by setting any of the LC_CTYPE, LANG or LC_ALL environment variables (LC_CTYPE only affects character handling).