Skip to content

Files on Windows

On win32 (if compiled with MinGW, but not Cygwin), the default config file locations are different. They are generally located under %APPDATA%/mpv/. For example, the path to mpv.conf is %APPDATA%/mpv/mpv.conf, which maps to a system and user-specific path, for example

C:\users\USERNAME\AppData\Roaming\mpv\mpv.conf

You can find the exact path by running echo %APPDATA%\mpv\mpv.conf in cmd.exe.

Other config files (such as input.conf) are in the same directory. See the FILES section above.

The cache directory is located at %LOCALAPPDATA%/mpv/cache.

The watch_later directory is located at %LOCALAPPDATA%/mpv/watch_later.

The environment variable $MPV_HOME completely overrides these, like on UNIX.

If a directory named portable_config next to the mpv.exe exists, all config will be loaded from this directory only. Watch later config files and cache files are written to this directory as well. (This exists on Windows only and is redundant with $MPV_HOME. However, since Windows is very scripting unfriendly, a wrapper script just setting $MPV_HOME, like you could do it on other systems, won't work. portable_config is provided for convenience to get around this restriction.)

Config files located in the same directory as mpv.exe are loaded with lower priority. Some config files are loaded only once, which means that e.g. of 2 input.conf files located in two config directories, only the one from the directory with higher priority will be loaded.

A third config directory with the lowest priority is the directory named mpv in the same directory as mpv.exe. This used to be the directory with the highest priority, but is now discouraged to use and might be removed in the future.

Note that mpv likes to mix / and \ path separators for simplicity. kernel32.dll accepts this, but cmd.exe does not.