Why WebM subtitles are not showing
TL;DR — Fix subtitles that do not show with a WebM video by checking embedded tracks, external VTT files, HTML5 player setup, delivery, and timing.
Related tool
WebVTT Validator Online
When subtitles do not show with a WebM video, first find out whether the captions are embedded in the WebM, loaded from an HTML <track> file, or burned into the video image.
Quick answer
Open the WebM in the destination player and check whether a subtitle or captions menu exists. If the WebM is used on a web page, inspect the HTML track setup and validate the .vtt file before changing the video.
If you are not sure whether the WebM contains a real embedded caption track, use Extract Subtitles from Video to inspect the file locally in your browser.
What to check first
Check these before re-exporting the video:
- the WebM contains an embedded text caption stream, not only audio and video
- the web page is not relying on a separate
.vttfile you forgot to copy - the VTT file starts with a
WEBVTTheader - VTT timestamps use dots, not SRT-style commas
- the VTT URL opens directly in the browser
- the server returns
text/vttand does not block the file with CORS - the subtitle timing overlaps the part of the WebM you are playing
Step-by-step workflow
1. Check whether captions are embedded in the WebM
Some WebM files contain text caption streams such as WebVTT. Many contain only audio and video.
Use the extractor when you need to inspect the file:
- Open Extract Subtitles from Video.
- Choose the
.webmfile. - Check whether a text subtitle stream is found.
- If a stream exists, export it and test the subtitle file separately.
If no text stream is found, the captions may be loaded from the web page instead of being stored inside the WebM.
2. Check the HTML track file
HTML5 players commonly attach captions like this:
<video controls src="lesson.webm">
<track kind="subtitles" src="lesson.en.vtt" srclang="en" label="English" default />
</video>
If you copy or download only lesson.webm, the caption file is not included. Keep the video and the .vtt file together when you move the page or test playback.
3. Validate the VTT file
If the WebM uses an external VTT file, validate the file before debugging player code.
Use the WebVTT Validator to check for:
- missing
WEBVTTheader - comma timestamps copied from SRT
- malformed cue timing
- missing blank lines between cues
- unsupported styling or broken text
If the source file is SRT, convert it to VTT instead of renaming the extension.
4. Check MIME type, CORS, and URL paths
A valid VTT file can still fail when the browser cannot fetch it correctly.
Open the VTT URL directly and check:
- the URL returns the subtitle file, not a 404 page
- the content type is
text/vtt - the video and VTT file are on the same origin, or CORS is configured
- the
<track>src,kind, andsrclangvalues are correct
For static sites and CDNs, these delivery details are often the real reason captions fail.
5. Check timing and language tracks
If the captions load but no text appears during playback, the file may be timed for another export or language.
Look for these clues:
- captions appear only after skipping forward
- every caption is consistently early or late
- the wrong language file is selected
- the WebM was trimmed after captions were created
Use the Subtitle Delay Fixer if every caption is offset by the same amount.
Common mistakes
Assuming captions are inside the downloaded WebM
A web page can show captions from a separate .vtt URL while the WebM itself has no embedded subtitle stream.
Renaming SRT to VTT
Browsers expect real WebVTT. A renamed SRT file can fail because it lacks the WEBVTT header and uses comma timestamps.
Ignoring CORS and MIME type
The VTT file can be valid and still fail when the server sends the wrong content type or blocks cross-origin access.
Related guides
- How to extract subtitles from WebM
- Why VTT captions are not loading
- Why subtitles do not show in HTML5 video
- Best subtitle format for HTML5 video
- Embedded vs burned-in subtitles
Related tools
Use the WebVTT Validator Online
Validate WebVTT captions online and check missing WEBVTT headers, timestamp syntax, cue order, and HTML5 caption issues. No signup, no upload, and everything runs locally in the browser.
Open VTT validator