Subtitle Formats

How to Convert SRT to VTT for YouTube

Turn a valid SRT file into WebVTT, preserve readable cues, and verify the result in the target player.

Convert SRT to WebVTT when a browser player, publishing system, or caption workflow explicitly expects .vtt. YouTube Studio accepts several caption formats, including SRT, so conversion is not automatically required just because the destination is YouTube. Confirm the import requirement first.

Structural differences that matter

WebVTT begins with a required header and writes milliseconds with a dot. SRT usually numbers cues and uses a comma:

7
00:00:31,750 --> 00:00:34,900
Export a test clip before processing the full program.

becomes:

WEBVTT

00:00:31.750 --> 00:00:34.900
Export a test clip before processing the full program.

Cue numbers can be omitted in VTT. They are not caption text. Do not carry them into the displayed line.

Safe conversion steps

Validate the SRT first. Each time range should use HH:MM:SS,mmm, the start must precede the end, and blocks must be separated by blank lines. Then add the WEBVTT header, convert commas to dots only in timestamps, omit numeric SRT identifiers, and preserve cue text.

The SRT to VTT tool performs this locally in the browser. A representative sample is better than trusting a success message: test italics, multiline captions, non-Latin characters, the longest cue, and a cue near the end.

Add positioning only when the player needs it

WebVTT can place captions with settings such as:

00:00:31.750 --> 00:00:34.900 line:85% position:50% align:middle
Export a test clip before processing the full program.

Do not invent positioning during a basic conversion. Default placement is more portable. Add settings only after testing them in the actual player, especially on narrow mobile screens.

Upload and playback checks

A syntactically valid file can still be wrong for the video. Preview the opening, a busy section with rapid speech, and the final minute. Look for a constant offset, increasing drift, hidden lines, and cues that remain on screen across a scene change.

If the converted file is consistently late, changing VTT punctuation will not help. Fix the timeline with the methods in How to Fix Subtitle Timing and Synchronization. If cues collide, use the overlap repair guide.

Common conversion mistakes

  • Writing WEBVTT without a blank line before the first cue.
  • Leaving comma milliseconds in timing lines.
  • Treating sequence numbers as visible text.
  • Saving as a legacy encoding instead of UTF-8.
  • Assuming SRT styling, positioning, or proprietary tags have a direct VTT equivalent.
  • Renaming .srt to .vtt without changing the contents.

A renamed extension is still SRT internally. Inspect the first ten lines whenever a platform says the format is unsupported.

Keep a source master

Save the clean SRT and the delivered VTT. If a reviewer changes wording in the VTT, apply the accepted edit to the source master or clearly designate a new master. Otherwise the next export may reintroduce old text.

For a decision table covering browser support, styling, cue settings, and compatibility, see SRT vs VTT: What’s the Difference?. The broader YouTube subtitle workflow shows when conversion should happen relative to cleanup, translation, and QA.