1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
.\" Man page generated from reStructuredText
.\" by the Docutils 0.22.4 manpage writer.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "MPD.CONF" "5" "Mar 17, 2026" "0.24.9" "Music Player Daemon"
.SH NAME
mpd.conf \- mpd.conf documentation
.SH DESCRIPTION
.sp
\fBmpd.conf\fP is the configuration file for \fBmpd(1)\fP\&.
.sp
Usually, that is \fB/etc/mpd.conf\fP, unless a different path is
specified on the command line.
.sp
If you run \fBMPD\fP as a user daemon (and not as a system
daemon), the configuration is read from
\fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP (usually
\fB~/.config/mpd/mpd.conf\fP). On Android, \fBmpd.conf\fP will be
loaded from the top\-level directory of the data partition.
.sp
Each line in the configuration file contains a setting name and its value, e.g.:
.sp
\fBconnection_timeout \(dq5\(dq\fP
.sp
Lines starting with \fB#\fP are treated as comments and ignored.
.sp
For settings that specify a file system path, the tilde (\fB~\fP) is
expanded to \fB$HOME\fP\&. In addition, the following path expansions are
supported:
.INDENT 0.0
.IP \(bu 2
\fB$HOME\fP
.IP \(bu 2
\fB$XDG_CONFIG_HOME\fP
.IP \(bu 2
\fB$XDG_MUSIC_DIR\fP
.IP \(bu 2
\fB$XDG_CACHE_HOME\fP
.IP \(bu 2
\fB$XDG_RUNTIME_DIR\fP
.UNINDENT
.sp
Example:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
music_directory \(dq~/Music\(dq
db_file \(dq$XDG_CONFIG_HOME/mpd/database\(dq
.EE
.UNINDENT
.UNINDENT
.sp
Some of the settings are grouped in blocks with curly braces, e.g. per\-plugin settings:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
audio_output {
type \(dqalsa\(dq
name \(dqMy ALSA output\(dq
device \(dqiec958:CARD=Intel,DEV=0\(dq
mixer_control \(dqPCM\(dq
}
.EE
.UNINDENT
.UNINDENT
.sp
The \fBinclude\fP directive can be used to include settings from
another file; the given file name is relative to the current file:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
include \(dqother.conf\(dq
.EE
.UNINDENT
.UNINDENT
.sp
You can use \fBinclude_optional\fP instead if you want the included file
to be optional; the directive will be ignored if the file does not exist:
.INDENT 0.0
.INDENT 3.5
.sp
.EX
include_optional \(dqmay_not_exist.conf\(dq
.EE
.UNINDENT
.UNINDENT
.sp
See \fBdocs/mpdconf.example\fP in the source tarball for an example
configuration file.
.sp
This manual is not complete, it lists only the most important options.
Please read the MPD user manual for a complete configuration guide:
\%<http://\:www\:.musicpd\:.org/\:doc/\:user/>
.SH GLOBAL SETTINGS
.SS System Settings
.INDENT 0.0
.TP
.B user
.INDENT 7.0
.TP
.B Type
NAME.UNINDENT
.sp
This specifies the user that MPD will run as, if set. MPD should never run
as root, and you may use this option to make MPD change its user id after
initialization. Do not use this option if you start MPD as an unprivileged
user.
.UNINDENT
.INDENT 0.0
.TP
.B group
.INDENT 7.0
.TP
.B Type
NAME.UNINDENT
.sp
Change to this group. This discards all default groups and uses
only this group. Do not use this setting.
.UNINDENT
.INDENT 0.0
.TP
.B pid_file
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies the file to save mpd\(aqs process ID in.
.UNINDENT
.INDENT 0.0
.TP
.B log_file
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies where the log file should be located. The special value \(dqsyslog\(dq makes MPD use the local syslog daemon.
.UNINDENT
.INDENT 0.0
.TP
.B log_level
.INDENT 7.0
.TP
.B Type
LEVEL.TP
.B Default
\fBnotice\fP.UNINDENT
.sp
Suppress all messages below the given threshold. The following
log levels are available:
.INDENT 7.0
.IP \(bu 2
\fBerror\fP: errors
.IP \(bu 2
\fBwarning\fP: warnings
.IP \(bu 2
\fBnotice\fP: interesting informational messages
.IP \(bu 2
\fBinfo\fP: unimportant informational messages
.IP \(bu 2
\fBverbose\fP: debug messages (for developers and for
troubleshooting)
.UNINDENT
.UNINDENT
.SS Client Settings
.INDENT 0.0
.TP
.B port
.INDENT 7.0
.TP
.B Type
number.TP
.B Default
\fB6600\fP.UNINDENT
.sp
This specifies the port that mpd listens on.
.UNINDENT
.SS File Settings
.INDENT 0.0
.TP
.B db_file
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies where the db file will be stored.
.UNINDENT
.INDENT 0.0
.TP
.B sticker_file
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
The location of the sticker database. This is a database which manages
dynamic information attached to songs.
.UNINDENT
.INDENT 0.0
.TP
.B music_directory
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies the directory where music is located. If you do not configure
this, you can only play streams.
.UNINDENT
.INDENT 0.0
.TP
.B playlist_directory
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies the directory where saved playlists are stored
(flat, no subdirectories). If you do not configure this, you
cannot save playlists.
.UNINDENT
.INDENT 0.0
.TP
.B state_file
.INDENT 7.0
.TP
.B Type
PATH.UNINDENT
.sp
This specifies if a state file is used and where it is located. The state of
mpd will be saved to this file when mpd is terminated by a TERM signal or by
the \fBkill\fP command. When mpd is restarted, it will read the state file and
restore the state of mpd (including the playlist).
.UNINDENT
.INDENT 0.0
.TP
.B follow_outside_symlinks
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fByes\fP.UNINDENT
.sp
Control if MPD will follow symbolic links pointing outside the music dir. You
must recreate the database after changing this option.
.UNINDENT
.INDENT 0.0
.TP
.B follow_inside_symlinks
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fByes\fP.UNINDENT
.sp
Control if MPD will follow symbolic links pointing inside the music dir,
potentially adding duplicates to the database. You must recreate the
database after changing this option.
.UNINDENT
.INDENT 0.0
.TP
.B auto_update
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fBno\fP.UNINDENT
.sp
This specifies the whether to support automatic update of music database
when files are changed in music_directory.
(Only implemented on Linux.)
.UNINDENT
.INDENT 0.0
.TP
.B auto_update_depth
.INDENT 7.0
.TP
.B Type
number.TP
.B Default
unlimited.UNINDENT
.sp
Limit the depth of the directories being watched, 0 means only watch the
music directory itself.
.UNINDENT
.INDENT 0.0
.TP
.B save_absolute_paths_in_playlists
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fBno\fP.UNINDENT
.sp
This specifies whether relative or absolute paths for song filenames are used
when saving playlists.
.UNINDENT
.INDENT 0.0
.TP
.B filesystem_charset
.INDENT 7.0
.TP
.B Type
CHARSET.UNINDENT
.sp
This specifies the character set used for the filesystem. A list of supported
character sets can be obtained by running \(dqiconv \-l\(dq. The default is
determined from the locale when the db was originally created.
.UNINDENT
.SS Player Settings
.INDENT 0.0
.TP
.B restore_paused
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fBno\fP.UNINDENT
.sp
Put MPD into pause mode instead of starting playback after startup.
.UNINDENT
.SS Other Settings
.INDENT 0.0
.TP
.B zeroconf_enabled
.INDENT 7.0
.TP
.B Type
\fByes\fP or \fBno\fP.TP
.B Default
\fByes\fP.UNINDENT
.sp
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
information will be published with Zeroconf.
.UNINDENT
.INDENT 0.0
.TP
.B zeroconf_name
.INDENT 7.0
.TP
.B Type
NAME.TP
.B Default
\fBMusic Player @ %h\fP.UNINDENT
.sp
If Zeroconf is enabled, this is the service name to publish. This
name should be unique to your local network, but name collisions
will be properly dealt with. \fB%h\fP will be replaced with the
hostname of the machine running MPD.
.UNINDENT
.INDENT 0.0
.TP
.B audio_output
See DESCRIPTION and the various \fBAUDIO OUTPUT OPTIONS\fP sections for the
format of this block. Multiple audio_output sections may be specified. If
no audio_output section is specified, then MPD will scan for a usable audio
output.
.UNINDENT
.SH REQUIRED AUDIO OUTPUT SETTINGS
.INDENT 0.0
.TP
.B type
.INDENT 7.0
.TP
.B Type
NAME.UNINDENT
.sp
This specifies the audio output type. See the list of supported outputs in
\fBmpd \-\-version\fP for possible values.
.UNINDENT
.INDENT 0.0
.TP
.B name
.INDENT 7.0
.TP
.B Type
NAME.UNINDENT
.sp
This specifies a unique name for the audio output.
.UNINDENT
.SH OPTIONAL AUDIO OUTPUT SETTINGS
.INDENT 0.0
.TP
.B format
.TP
.B :type: \(ga\(gasample_rate:bits:channels\(ga\(ga
This specifies the sample rate, bits per sample, and number of channels of
audio that is sent to the audio output device. See documentation for the
\fBaudio_output_format\fP option for more details. The default is to use
whatever audio format is passed to the audio output. Any of the three
attributes may be an asterisk to specify that this attribute should not be
enforced
.UNINDENT
.INDENT 0.0
.TP
.B replay_gain_handler
.INDENT 7.0
.TP
.B Type
\fBsoftware\fP, \fBmixer\fP or \fBnone\fP.TP
.B Default
\fBsoftware\fP.UNINDENT
.sp
Specifies how replay gain is applied. \fBsoftware\fP uses an internal
software volume control. \fBmixer\fP uses the configured (hardware)
mixer control. \fBnone\fP disables replay gain on this audio output.
.UNINDENT
.INDENT 0.0
.TP
.B mixer_type
.INDENT 7.0
.TP
.B Type
\fBhardware\fP, \fBsoftware\fP or \fBnone\fP.TP
.B Default
\fBhardware\fP (if supported) or \fBnone\fP.UNINDENT
.sp
Specifies which mixer should be used for this audio output: the hardware
mixer (available for ALSA, OSS and PulseAudio), the software mixer or no
mixer (\fBnone\fP).
.UNINDENT
.SH FILES
.INDENT 0.0
.TP
.B \fB$XDG_CONFIG_HOME/mpd/mpd.conf\fP
User configuration file (usually \fB~/.config/mpd/mpd.conf\fP).
.TP
.B \fB/etc/mpd.conf\fP
Global configuration file.
.UNINDENT
.SH SEE ALSO
.sp
\fBmpd(1)\fP, \fBmpc(1)\fP
.SH Author
Max Kellermann
.SH Copyright
2003-2025 The Music Player Daemon Project
.\" End of generated man page.
|