ytm-player is a terminal client for browsing and playing music from a YouTube Music account. It uses mpv for audio playback and Textual for its interface.
A YouTube Music account is required, but a Premium subscription is optional. The setup process supports browser-cookie authentication, while the application combines keyboard-driven navigation with desktop media integration.
This is free and open source software.
Key Features
- Navigate with Vim-style controls, including j/k movement, multi-key sequences, and numeric count prefixes.
- Display synchronised lyrics with live highlighting and an LRCLIB fallback when lyrics are unavailable from YouTube.
- Use gapless playback and stream prefetching through the mpv backend.
- Retain previously heard audio in a local cache managed using a least-recently-used policy.
- Restore the last-playing track and playback queue when the application starts.
- Import Spotify playlists through the Spotify API or a scraper fallback.
- Control a running player from another terminal through command-line and inter-process communication commands.
- Choose Textual themes and override application colours in a separate theme configuration file.
- Integrate with MPRIS on Linux, Now Playing on macOS, and media keys on Windows.
- Optionally publish listening activity through Discord Rich Presence.
- Optionally scrobble played music to Last.fm.
- Cross-platform support – runs on Linux, macOS, and Windows.
Website: github.com/peternaame-boop/ytm-player
Support:
Developer: Peter Naame
License: MIT License

ytm-player is written in Python. Learn Python with our recommended free books and free tutorials.
Related Software
| Console-Based YouTube Tools | |
|---|---|
| yt-dlp | Fork of youtube-dl offering new features |
| You-Get | Downloader that scrapes the web |
| Lux | Download library and CLI tool |
| yewtube | Terminal based YouTube player and downloader |
| YouTube TUI | Lightweight and user friendly TUI for browsing YouTube |
| Tizonia | Cloud music player for the Linux terminal |
| ytdl-sub | Automates media downloads and generates accompanying metadata |
| pipe-viewer | Lightweight YouTube client with CLI and GUI |
| yt-x | Browse YouTube from the terminal |
| pytubefix | Library and CLI for downloading YouTube videos |
| ytsurf | Clean and distraction-free |
| YTerMusic | Aims to be as fast and simple as possible |
| xytz | TUI frontend for yt-dlp |
| ytm-player | Terminal-based client for YouTube Music |
| tuitube | TUI to download videos |
| GopherTube | Terminal YouTube client for searching and watching videos |
| youtube-dl | Download videos from YouTube and many other sites. Extremely versatile |
| ytcc | Keep track of your favorite playlists on YouTube |
| ytm | Play and browse YouTube Music directly from your terminal |
| Rataplay | TUI to search, play and download videos |
| gytm | Terminal-based player for searching and streaming YouTube Music |
| GoMusic | Download and stream music from YouTube |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.