Subtitle guide Subtitle sync fixes

How to fix invalid WebVTT timestamps

Updated

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

Open VTT validator

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 WEBVTT header 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

  1. Confirm the destination actually needs VTT.
  2. If the source file is SRT, open the SRT to VTT Converter.
  3. Paste or upload the subtitle content.
  4. Check that the output includes the WEBVTT header and dot-based timestamps.
  5. 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.

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