How to fix invalid WebVTT timestamps
TL;DR — Fix WebVTT files with malformed timestamp formatting by converting or normalizing subtitle timing into browser-friendly VTT output.
Related tool
WebVTT Validator Online
Invalid WebVTT timestamps usually mean the file looks close to VTT, but its timing format does not match what browser playback expects.
Quick answer
If your subtitle file came from an SRT source or a messy export, normalize it into clean VTT output with the SRT to VTT Converter.
That fixes the most common timestamp mismatch in one step.
What valid VTT timestamps look like
VTT timestamps use dots, not commas:
00:00:01.000 --> 00:00:03.500
SRT timestamps use commas:
00:00:01,000 --> 00:00:03,500
If a file uses SRT timing inside a VTT workflow, browser players may reject it.
If you are not sure whether the file is valid WebVTT, check it first with the WebVTT Validator. It reports missing headers, comma-based timestamps, and parseable cue counts before you edit the file.
Other common VTT problems
Besides timestamp punctuation, WebVTT files can fail because:
- the
WEBVTTheader is missing - formatting was copied from a non-VTT source
- cues were edited manually and structure drifted
If the file began as SRT rather than VTT, How to convert SRT to VTT for HTML5 video is often the cleanest fix instead of hand-editing every cue.
Step-by-step workflow
- Confirm the destination actually needs
VTT. - If the source file is
SRT, open the SRT to VTT Converter. - Paste or upload the subtitle content.
- Check that the output includes the
WEBVTTheader and dot-based timestamps. - Download the new file and test it in the browser player.
Common mistakes
Renaming the file without converting it
Changing .srt to .vtt does not make it valid WebVTT.
Fixing one timestamp but leaving the rest untouched
If the file came from the wrong source format, normalize the whole file.
Debugging the player before checking the subtitle file
Many playback issues are really subtitle format problems, not player problems.
That is especially true for web player workflows like the one described in How to convert subtitle files for web players.
Frequently asked questions
What makes a WebVTT timestamp invalid?
A WebVTT timestamp is invalid when it uses the wrong separator, misses required digits, has malformed cue arrows, or appears in a cue block the browser cannot parse.
Can I fix VTT timestamps by renaming an SRT file?
No. Renaming .srt to .vtt does not change comma-based SRT timestamps into dot-based WebVTT timestamps or add the required WEBVTT header.
Should I validate the VTT file before changing player code?
Yes. Validate the WebVTT file first, because many caption loading problems come from malformed subtitle timing rather than JavaScript or player configuration.
What tool should I use for comma-based timestamps in VTT?
If the source is really SRT, use the SRT to VTT Converter. If the file is already VTT, use the WebVTT Validator to find the malformed cue blocks before editing.
Related guides
- How to convert SRT to VTT for HTML5 video
- Best subtitle format for HTML5 video
- How to convert subtitle files for web players
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