Skip to content

Free Tool

SRT to VTT Converter

Turn a SubRip file into WebVTT for the web. Drop in an .srt and get back a .vtt with the header a browser expects and the timestamp punctuation HTML5 video requires.

  • Runs in your browser
  • Nothing uploaded
  • No signup

Drop your file here

or

Supports .srt, .vtt, .txt files

How it works

SRT to VTT Converter in three steps

01

Drop your SRT file

Drag an .srt onto the box or browse for it. The file never leaves your machine.

02

Convert to VTT

The WEBVTT header is added and every timecode switches from comma to period milliseconds.

03

Download the .vtt

Copy the result or download it ready to attach to an HTML5 video track.

Why SRT will not play in a browser

SubRip and WebVTT look almost identical, and that is exactly what makes the failure confusing: you attach an .srt to a <track> element, the video plays, and no subtitles appear. There is no error. HTML5 video does not read SubRip at all — it reads WebVTT, and the two differ in two small ways that a player will not forgive.

The two differences that matter

First, a WebVTT file must begin with the word WEBVTT on its own line. Without that header the file is rejected outright, whatever is inside it. Second, WebVTT separates seconds from milliseconds with a period and SubRip uses a comma: 00:00:01.500 against 00:00:01,500. Cue numbers, which SubRip puts above every block, are optional in WebVTT and are dropped here — they carry no meaning and only add noise.

What the conversion does and does not touch

Timings are copied across exactly; nothing is rounded, shifted or re-timed. Line breaks inside a cue survive, so a two-line subtitle stays two lines. What is not carried over is anything SubRip never had: WebVTT can hold cue settings for position, alignment and region, and this converter does not invent them. You get a clean, valid file with default positioning, which is what a browser wants in the overwhelming majority of cases.

It runs on your machine

The file is read and converted in the browser. Nothing is uploaded, nothing is stored, and there is no account. Files up to 10 MB are accepted, which is far more than any subtitle file needs — a feature-length film usually lands under 100 KB.

Answers

SRT to VTT — frequently asked questions

Why does my SRT file show nothing in an HTML5 video?

Because browsers do not read SubRip. Theelement accepts WebVTT only, and it fails silently — the video plays and the subtitles simply never appear. Converting the file to .vtt is the whole fix.

What is actually different between SRT and VTT?

Two things. A VTT file must start with the line WEBVTT, and it separates milliseconds with a period rather than a comma: 00:00:01.500 instead of 00:00:01,500. Everything else about the cue — the times, the text, the line breaks — is the same.

Are the cue numbers lost?

Yes, and deliberately. WebVTT treats them as optional identifiers, not as sequence numbers, and nothing reads them. Dropping them produces a cleaner file with no loss of information.

Will the timings change?

No. Start and end times are carried across exactly as they were, down to the millisecond. Nothing is rounded or re-timed.

Do styling and positioning survive?

There is nothing to survive. SubRip has no positioning or region settings, so the output uses WebVTT defaults. If you need cue settings you will have to add them by hand afterwards.

Is my file uploaded anywhere?

No. The conversion runs in your browser with JavaScript. The file is never sent to a server, never stored, and no account is needed.

How large a file can I convert?

Up to 10 MB. Subtitle files are small — even a three-hour film rarely passes 200 KB — so this is a limit you are unlikely to meet.

Can I go the other way, from VTT back to SRT?

Yes. The VTT to SRT converter does that, and the universal subtitle converter handles both directions along with SBV and ASS.

Need Full Transcription?

Upload audio or paste a YouTube link and get a full AI transcript with speaker labels, timestamps, and summaries.

Get the App — Free

Free on iOS and Android. No account required.