Free tools /

Free SRT or LRC to WebVTT converter

Convert SRT or LRC to WebVTT online free

Create a WEBVTT caption track from SRT or LRC so timed lyrics can travel with HTML5 video, YouTube, web players, learning sites, and browser-based media.

Input

Paste or open SRT / LRC

Output

WebVTT file

Your converted VTT will appear here as soon as readable input is added.

Why this output

Built for the next step

WebVTT uses period-based timestamps and a required header. It is a better web handoff than simply renaming an SRT file, and it can carry inline word timestamps from enhanced LRC.

[00:12.34]<00:15.67> I have been waiting
[00:15.67]<00:19.45> To finally see your face
WEBVTT

00:00:12.340 --> 00:00:15.670
I have been waiting

00:00:15.670 --> 00:00:19.450
To finally see your face

What is preserved

  • Complete lyric lines and their order
  • Cue start and end timing
  • Word timestamps from enhanced LRC sources

What changes or is lost

  • SRT cue numbers and LRC metadata tags are removed
  • Plain LRC lines without explicit ends use the ends inferred while parsing
  • Source-specific styling is not invented in the output

Format background

SRT to VTT: what actually changes

Going from SRT to WebVTT is the easier direction. SRT is the plainer format, so nothing has to be thrown away — the conversion adds structure rather than removing it. Every cue keeps its text and its timing, and the result is a file a browser will accept where the original would have been rejected.

Three things change. A WEBVTT line is added at the very top, and it is mandatory — a file without it is not a valid WebVTT track no matter how correct the rest is. The millisecond separator flips from a comma (00:01:23,456) to a period (00:01:23.456). And SRT cue numbers become optional; WebVTT allows them as cue identifiers but does not require them, so they can stay or go.

It is worth saying plainly that renaming a .srt file to .vtt does not work, even though the two formats look almost identical when opened side by side. Without the header the browser rejects the track outright, and with comma timestamps it will usually parse the file but silently show no captions — which is the more confusing failure, because the video plays and nothing appears to be wrong.

Without a converter

How to convert SRT to VTT by hand

  1. 1Open the .srt file in a plain-text editor such as Notepad, TextEdit in plain-text mode, or VS Code. Avoid word processors, which introduce formatting the caption file cannot carry.
  2. 2Add a line containing exactly WEBVTT at the very top of the file, followed by one blank line before the first cue.
  3. 3Replace the comma in every timestamp with a period, so 00:01:23,456 --> 00:01:26,789 becomes 00:01:23.456 --> 00:01:26.789. Match the timestamp pattern rather than replacing every comma, or you will damage the caption text.
  4. 4Leave the cue numbers in place or delete them — WebVTT treats them as optional identifiers either way. If you keep them, make sure each still sits on its own line above its timestamp.
  5. 5Save with a .vtt extension and confirm the editor has not appended .txt, which is the most common reason a correct file still fails to load.
  6. 6Reference the file from a track element in your HTML5 video, giving it the right srclang and label, then check that the first cue appears when you play the video.

Questions

About converting to WebVTT

Is VTT just SRT with a different extension?

No. WebVTT starts with a WEBVTT header and uses periods in timestamp fractions. It also supports browser-focused cue features that plain SRT does not.

Can WebVTT contain word timestamps?

Yes. Timestamped cue text can carry inline word starts. This converter preserves them when the enhanced LRC source contains real word timing.

Why might a converted plain LRC line last until the next line?

Basic LRC often stores only starts. When no explicit end exists, the parser uses the next line start, or a short default for the final line, to create a usable VTT cue.

How do I convert SRT to WebVTT for HTML5 video?

Open the SRT file and download the generated .vtt track. Reference that file from a track element inside your HTML5 video and provide the appropriate language and label.

Can I convert LRC lyrics to VTT captions?

Yes. Complete LRC lines become WebVTT cues. Basic LRC usually has start times only, so cue ends are inferred from the following line where necessary.