29

I have uploaded the video on YouTubeand added the subtitles but the users don't realize that they can turn them on. I know there is particular URL parameter for embedded player, but it doesn't work for youtube.com itself. I have tried:

http://www.youtube.com/watch?v=wWMMgHobF6g&hl=de&cc_lang_pref=de&cc_load_policy=1

and it returns the page in German, but does not turn the subtitles on.

How can I force YouTube to use subtitles on youtube.com itself?

1
  • 4
    For others researching the same: right now, only &cc_load_policy=1 seems to work, as it turns the CC on, but no language can be set... pity, it's so convenient to share links properly
    – brasofilo
    Feb 26, 2016 at 2:18

3 Answers 3

10

The only way I found is changing the URI from

https://www.youtube.com/watch?v=2s3aJfRr9gE

to this pattern

"https://www.youtube-nocookie.com/embed/" + VIDEO_ID + "?hl=" LANG_CODE

If hl= doesn't work (in some cases doesn't seem to work) try cc_load_policy=1&cc_lang_pref=.

On bash/Linux you can just copy the URI with that structure and then run this command (Spanish code hard-coded) to transform clipboard content (you can make an alias):

xclip -selection c -o | echo "$(cat -)?&hl=es-419" | sed "s|youtube.com/watch?v=|youtube-nocookie.com/embed/|1" | xclip -selection c

You can list the available subtitles ISO 639-1 language codes with youtube-dl:

youtube-dl --list-subs "{video_id or url}"

Drawbacks:

  • the video will cover the complete screen... which might be good thing to stop procrastinating with related videos :)
  • It seems that doesn't work with automatic generated captions.
3
  • This seems to change the UI language, but doesn't show the subtitles.
    – Tin Man
    Apr 19, 2019 at 22:35
  • 1
    But adding &cc_lang_pref=de&cc_load_policy=1 (e.g. youtube-nocookie.com/embed/…) seems to work!
    – Tin Man
    Apr 19, 2019 at 22:37
  • The only downside is that this domain generates less trust than a YouTube link. But this seems to be the best answer. Dec 26, 2021 at 10:14
6

This solution effects your videos on the platform aswell as when you embed it.

Go to "Youtube Studio" and click on the video where you want to force subtitles.

Scroll down to tags. Add yt:cc=on will force subtitles. Add cc_lang_pref=en to select preferred subtitles. enter image description here

Make sure that you have published the preferred subtitles as extra language, even if you just want to use the auto-generated ones.

enter image description here

3
  • Excellent, this works! So YouTube never actually stopped using yt:cc=on ... but they started to require cc_lang_pref=en or whatever language you like on top
    – ChrisB
    May 28, 2021 at 2:45
  • This does not seem to override the default settings of English as the UI and subtitle language. Dec 26, 2021 at 10:15
  • It seems that it is not working anymore. I also tried including hl=es or even adapting it to the same format than cc=on; that is: yt:cc_lang_pref=es and yt:hl=es, but nothing worked to display the Spanish subtitles as default.
    – J0ANMM
    Oct 9 at 9:47
4

I've found out how to do it.

Add

&hl=de&cc_lang_pref=de&cc=1

to your video url, and subtitles will be on youtube.com by default. Of course, you need to use your language instead of de.

2
  • 15
    Not working anymore :( Sep 16, 2015 at 3:22
  • 3
    that was a dirty hack with limited lifetime :D Sep 18, 2015 at 12:06

Not the answer you're looking for? Browse other questions tagged or ask your own question.