Subtitles

SRT to VTT Converter

Details

How to use SRT to VTT Converter

What the tool does, how to run it, and what to expect from the result.

How to convert SRT subtitles to WebVTT

Paste the contents of your .srt file. The converter normalises the line endings, strips any byte-order mark, splits the file into cue blocks, rewrites each timestamp with a dot instead of a comma, and prepends the required WEBVTT header.

The output is a valid .vtt file you can hand to an HTML5 <track> element. The cue count above the output box tells you how many cues survived the conversion.

  • Paste your SubRip (.srt) text into the input box.
  • Leave "Keep numbers as VTT cue IDs" unchecked unless you need to address cues individually.
  • Check the cue count in the output header against the number of cues you expected.
  • Remove any <font> tags or {\an8} override codes, which are not valid WebVTT and pass through unchanged.
  • Download the .vtt file, or copy it, and reference it from a <track src="..." kind="subtitles"> element.

SRT vs VTT: what actually differs

SubRip and WebVTT are nearly the same format, which is why the conversion is mechanical. An SRT cue is a number, a timing line with comma milliseconds (00:00:04,500), and text. A VTT cue is an optional identifier, a timing line with dot milliseconds (00:00:04.500), and text, in a file that must start with the literal line WEBVTT. HTML5 video players require VTT; most desktop players and editors were built around SRT.

Everything beyond that is optional in both formats, and this converter deliberately does not invent any of it: no cue settings, no positioning, no styling. Simple files convert perfectly because simple files are what both formats agree on.

Using the .vtt file with HTML5 video

A browser loads WebVTT through the track element: <track src="subtitles.vtt" kind="subtitles" srclang="en" label="English" default>. The file must be served with a sane text content type, and if the video and the subtitle file live on different origins the video element needs crossorigin set, or the track silently fails.

When captions do not appear, the fault is almost always the file, not the markup: a missing WEBVTT header, a BOM before it, or comma timestamps left over from a renamed SRT. Running the file through this converter fixes all three, which makes it a decent validator even for a file that already claims to be VTT.

Tips

Getting a better result out of SRT to VTT Converter

Specific settings and thresholds, not general advice.

  • The two real differences are the header and the decimal mark. WebVTT requires a WEBVTT line at the top of the file, and it uses a dot for milliseconds (00:00:04.500) where SubRip uses a comma (00:00:04,500). This converter adds the header and switches the separator; everything else in a simple file is already compatible.
  • SRT's numeric cue counters are dropped by default, because WebVTT does not need them. Ticking the box keeps them as VTT cue identifiers, which is worth doing only if you plan to target individual cues from CSS or JavaScript.
  • Timestamps missing an hours field are repaired: a bare 01:23,000 becomes 00:01:23.000. Millisecond fields shorter than three digits are padded, so ,5 becomes .500 rather than .005.
  • Carriage returns and a UTF-8 byte-order mark are stripped, which fixes the single most common cause of a .vtt file that a browser refuses to load: a stray BOM before the WEBVTT header makes the file invalid.
  • Cue text is passed through verbatim. That is fine for <i> and <b>, which both formats support, but an SRT file with <font color="#ffff00"> tags will carry them into the VTT, where they are not valid and will be shown or dropped depending on the player. Strip font tags before converting and use a VTT style block instead.
Limits

What SRT to VTT Converter does not do

The honest boundary, so you do not lose time finding it yourself.

  • No conversion of styling: SRT font tags and ASS-style override codes are passed through unchanged.
  • No timing shift, no re-sync, and no frame-rate conversion.
  • No positioning: VTT cue settings are not generated from SRT coordinates.
  • Blocks that cannot be parsed are silently skipped rather than reported line by line.
Reference

Terms used on this page

Short, plain-language definitions for the formats and settings above.

At a glance

Who SRT to VTT Converter is for

A quick way to understand who this helps, what it solves, and where it connects next.

Best fit

Anyone converting subtitle files for web video.

Ideal for

Using the srt to vtt converter without installing anything or signing up.

FAQ

Common questions

Short answers for the questions people usually have before trying a utility like this.

Why will my browser not load the .vtt file I already had?

The three usual causes are a missing WEBVTT header line, a byte-order mark sitting in front of that header, and comma-separated milliseconds left over from an SRT file that was renamed without being converted. This converter fixes all three: it writes the header, strips the BOM, and rewrites the timestamps with dots. Renaming a .srt to .vtt does not work, which is what most people try first.

What happens to my italic and bold tags?

They come through unchanged, and that is correct: WebVTT supports <i>, <b>, and <u> as SubRip does. What does not survive is anything SRT-specific, such as <font color> tags or ASS-style override codes like {\an8}. Those are passed through as literal text, so a player will either ignore them or display them on screen. Remove them first.

Should I keep the cue numbers?

Usually not. WebVTT does not need them, and dropping them makes the file smaller and less likely to confuse a strict parser. Keep them only if you intend to address individual cues from script or style them by ID, in which case they become the cue identifier line above each timing line.

Does the conversion change my timings?

No. Each timestamp is parsed into hours, minutes, seconds, and milliseconds and written straight back out in WebVTT form, so the values are identical to the millisecond. If your subtitles are out of sync with the video, they will be out of sync by exactly the same amount afterwards; this tool converts format, not timing.

How do I know it worked?

Check the cue count above the output box. It counts the timing lines in the result, so if your SRT had 340 cues and the output says 340, nothing was dropped. If the count is lower, some blocks failed to parse, which normally means a malformed timestamp somewhere in the source.

How do I convert an SRT file to VTT?

Open the .srt file in any text editor, copy its contents, paste them into the input box, and download the result as subtitles.vtt. The converter adds the WEBVTT header and rewrites the timestamps; there is no upload step because the conversion runs in your browser.

What is the difference between SRT and VTT?

Structurally, three things: a VTT file starts with a WEBVTT header line, uses a dot instead of a comma before milliseconds, and treats cue numbers as optional identifiers rather than required counters. VTT also supports styling and positioning that SRT lacks, but a plain subtitle file needs none of that.

Is this SRT to VTT converter free?

Yes, free with no signup. It is a paste-in, copy-out text transform that runs entirely in your browser, so there is no file size meter or daily quota involved.

Do my subtitles get uploaded?

No. The conversion is a local string transform in the page, the subtitles never leave your device, and it keeps working with the network disconnected. Nothing about the file is stored when you close the tab.

Can I convert VTT back to SRT?

Not on this page, but the companion VTT to SRT converter does the reverse: it strips the WEBVTT header, restores comma milliseconds, and re-numbers the cues for players that expect SubRip.

Is there a file size limit?

No practical one. A feature-length subtitle track is a few hundred kilobytes of text, and the converter processes it instantly. If you can paste it, it converts.

Recommendations

You Might Also Like

Nearby tools from the catalog that fit the same job or workflow.

Cleanor app

Do it all on your device

Cleanor puts these tools in one app: compress and convert images, video, and audio, work with PDFs, and scan text right on your device. Plus free up storage and clear inbox clutter with Email Cleaner. Start with a free trial.

  • iPhone
  • Android
  • Macsoon
  • Windowssoon