Content · Web Development · HTML

HTML Video Captions with WebVTT Files

Video Captions with WebVTT Files: The browser picks an available resource and follows the attributes in the markup. Files under images/, media/, or /embeds are examples that you would create in your project. Includes a practical HTML example and an explanation.

1 views Published Oct 19, 2026 Updated Oct 19, 2026 Admin

Imagine opening this page on a slow phone connection. The media should still be worth the wait and have a sensible fallback.

What You Need to Know


A WebVTT file contains caption cues with timestamps. The video track element points to that file; if its path or timing is wrong, viewers will not see useful captions.

Try the Example


Take a look at the example. We’ll explain the important lines right below it.

<video controls width="600">
    <source src="media/lesson.mp4" type="video/mp4">
    <track src="media/captions-en.vtt" kind="captions" srclang="en" label="English" default>
</video>
<p>The .vtt file contains timed caption cues, not ordinary HTML.</p>

Let’s Read the Code


  • <video>: The video element creates a video player and can include alternative formats.
  • <source>: A source points to a media file or image choice with a type or other condition.
  • controls: Controls asks the browser to provide its native audio or video player controls.
  • width: Width gives a preferred or intrinsic media width, depending on the element.

Read the named elements and attributes together. They explain how the browser connects this feature to the rest of the page.

What Happens in the Browser?


The paths shown here refer to files in your own example project. Put real images and recordings in those locations before expecting them to load.

Captions and transcripts are different. A captions file contains timed cues that appear during playback. A transcript is a readable written version that can stay on the page. Neither one is automatically produced simply by adding a track element.

Your Turn


Replace the media filename with your own local recording and check playback, controls, and fallback content.

Common Beginner Mistakes


  • Forgetting that captions are stored in a separate timed-text file, not generated by the video tag.
  • Always check keyboard access, readable alternatives, and any missing files; a perfect player layout does not guarantee accessible content.

Key Takeaways


  • A WebVTT file contains caption cues with timestamps.
  • <video>: The video element creates a video player and can include alternative formats.
  • If the resource cannot load, users still need enough text to understand what was meant to be there.
Share this resourceSend this page to someone who may find it useful.