A lot of people watch video with the sound off. They're on a train, in an office, scrolling in bed next to someone who's asleep. If your embedded video has no captions showing, many of those people will scroll straight past it.

YouTube lets you switch captions on by default for an embed with one small parameter. You can also choose which language shows. Here's how.

The quick answer

Add cc_load_policy=1 to the end of your embed URL:

https://www.youtube.com/embed/VIDEO_ID?cc_load_policy=1

That's it. When someone presses play, captions appear without them having to tap the CC button.

If you'd rather tick a box than edit URLs, our YouTube Embed Code Generator builds the code for you, and the parameter cheat sheet lists every other option you can combine with it.

Advertisement

Choosing the caption language

Caption parameters for YouTube embeds
Caption parameters for YouTube embeds

If a video has captions in several languages, YouTube normally picks one based on the viewer's settings. To choose it yourself, add cc_lang_pref with a two-letter language code:

https://www.youtube.com/embed/VIDEO_ID?cc_load_policy=1&cc_lang_pref=hi

Some common codes:

LanguageCode
Englishen
Hindihi
Spanishes
Frenchfr
Germande
Portuguesept
Arabicar
Japaneseja

This works well for sites in more than one language. Your Hindi page can embed the same video as your English page, with Hindi captions switched on.

Changing the player's language too

cc_lang_pref only affects the captions. To change the language of the player itself (the menus, tooltips and settings), add hl:

https://www.youtube.com/embed/VIDEO_ID?cc_load_policy=1&cc_lang_pref=es&hl=es

Why captions sometimes don't appear

You've added the parameter and nothing happens. These are the usual reasons.

The video has no captions. cc_load_policy can only show captions that exist. Open the video on YouTube and click the settings gear, then Subtitles/CC. If the menu is empty, there's nothing to show.

The language you chose doesn't exist. If you ask for cc_lang_pref=fr and there are no French captions, YouTube falls back to another track or shows none. Check what languages are listed in the subtitles menu.

The viewer's own settings win. If a signed-in viewer has turned captions off in their YouTube account, or chosen a different language, their preference can override yours. That's by design: it respects the viewer's choice.

You used ? twice. If your URL already has a parameter, the new one must start with &, not ?. For example ?start=30&cc_load_policy=1, not ?start=30?cc_load_policy=1. Our guide to YouTube embed errors covers this mistake in more detail.

Advertisement

Auto captions vs real captions

YouTube creates automatic captions for most videos in supported languages. They've got much better, but they still trip over names, brands, technical terms and strong accents.

If it's your own video, it's worth spending ten minutes cleaning them up:

  1. Open YouTube Studio and go to Subtitles.
  2. Pick the video and click the language.
  3. Click Duplicate and edit on the automatic track, fix the mistakes, and publish.

Clean captions help viewers, and they also give YouTube accurate text about what your video says. That can only help with search inside YouTube.

Should every embed have captions on?

Not always. Here's a simple rule of thumb:

  • Turn them on for talking-head videos, tutorials, interviews, and anything that autoplays muted.
  • Leave them off for music videos, product demos with no speech, or short background clips.

Muted autoplay is the big one. If you use autoplay=1&mute=1 (and browsers require the mute for autoplay to work), captions are the only way a silent viewer knows what's being said. Combine them:

https://www.youtube.com/embed/VIDEO_ID?autoplay=1&mute=1&cc_load_policy=1

Accessibility notes

Captions are only part of an accessible embed. Two more quick wins:

  • Give the iframe a title, like title="How to bake sourdough bread". Screen readers announce it, and "YouTube video player" tells nobody anything.
  • Add a short summary or transcript under the video. It helps people who can't play video at all, and it gives search engines text to understand your page.

Summary

  • cc_load_policy=1 turns captions on by default.
  • cc_lang_pref=xx picks the caption language.
  • hl=xx changes the player's menu language.
  • Captions only show if the video has them, and viewer settings can override yours.

It takes ten seconds to add and makes your videos usable for a lot more people. If you're also working on how the player looks on phones, see how to make a YouTube embed responsive.