ytfzf – search, watch or download YT video from terminal

Ytfzf is a script that helps you find Youtube videos and opens/downloads using mpv/youtube-dl.


  • thumbnails
  • history support
  • download support
  • format selection (and default formats)
  • queue multiple tracks (using fzf multiselection)

Usage: ytfzf [OPTIONS] 
     -h, --help                           Show this help text
     -t, --thumbnails                     Show thumbnails (requires ueberzug)
                                          Doesn't work with -H -D
     -D, --ext-menu                       Use external menu(default dmenu) instead of fzf
     -H, --choose-from-history            Choose from history
     -x, --clear-history                  Delete history
     -m, --audio-only   search-query    Audio only (for music)
     -d, --download     search-query    Download to current directory
     -f                 search-query    Show available formats before proceeding
     -a, --auto-play    search-query    Auto play the first result, no selector
     -r  --random-play  search-query    Auto play a random result, no selector
     -n, --video-count= video-count     To specify number of videos to select with -a or -r
     -l, --loop         search-query    Loop: prompt selector again after video ends
     -s                 search-query    After the video ends make another search
     -L, --link-only    search-query    Prints the selected URL only, helpful for scripting
  Use - instead of search-query for stdin


Watch to find videos (with out thumbnails)

ytfzf query

Watch to find videos with thumbnails

ytfzf -t query

You can use multiple options together, here are some examples

Steam audio (music), and prompt as the music finishes

ytfzf -ml query

Download a video from your history

ytfzf -dH

Open using dmenu in a certain format

ytfzf -fD  

If you started watching a video and you wish to change format then
first hit Q to save position and quit mpv, then choose your format using

ytfzf -faH

Useful mpv key bindings

* Use f for full screen
* Use J for subtitles (also works with audio, if the music video has subtitles)
* Use L for single-loop


 yay -S ytfzf ueberzug

More info on Github ytfzf project site