Skip to main content

Free SRT to VTT Subtitle Converter Online

Subtitle Converter (SRT to VTT) converts subtitle files between SRT, WebVTT, and SBV formats entirely in your browser, and reads ASS/SSA dialogue for extraction. It fixes the comma-versus-dot timestamp difference and adds the required WEBVTT header automatically.

Written & reviewed by Helperzy Editorial Team · Updated July 2026

Convert subtitles between SRT, WebVTT and SBV. ASS/SSA files are read-only (extracted to your chosen target). WebVTT output always starts with the required WEBVTT header.

Input Subtitles

VTT Output

How to Use Subtitle Converter (SRT to VTT)

1

Load Your Subtitle File

Open or paste your SRT, WebVTT, or SBV file, or an ASS/SSA file for dialogue extraction. The tool immediately parses every cue and reports the total cue count and duration.

2

Choose the Target Format

Pick SRT, WebVTT, or SBV as the output format. The converter adjusts the comma or dot decimal, writes the WEBVTT header when needed, and rebuilds each cue block in the correct layout.

3

Review and Download

Check the malformed-line report for any lines that failed, confirm the cue count matches, optionally strip inline tags, then download the converted file ready for your player.

Convert SRT, WebVTT, and SBV Subtitles In Your Browser

Subtitle files look almost identical at a glance, yet the tiny differences between formats are exactly what make a video player reject a caption track. This converter takes an SRT, WebVTT, or SBV file and rewrites it into whichever of those formats you need, handling every one of those quiet differences for you. It runs entirely on your machine, so nothing is uploaded, nothing waits on a server, and a caption file you may not want to share never leaves your device. Whether you are a video editor preparing captions for a website, a developer wiring up an HTML5 player, a translator delivering files in a client's required format, or someone who simply downloaded the wrong subtitle type, the job is the same: get the timestamps and the header right so the track just works. The single most important difference is how each format writes the fraction of a second. SRT uses a comma before the milliseconds, so a cue starts at a time written as 00:00:01,500. WebVTT uses a dot instead, writing the very same moment as 00:00:01.500. That one punctuation swap is the reason a perfectly good SRT file often shows nothing when you feed it straight to a web player. On top of that, WebVTT is strict about its opening line: the file must begin with a line reading WEBVTT, and without that header most players quietly refuse the entire track. This converter changes the comma to a dot in every timestamp and writes the header for you automatically, which removes the two mistakes that cause the majority of failed caption tracks. SBV, the format YouTube and SubViewer use, is laid out differently again. Instead of putting the start and end times on separate lines joined by an arrow, SBV places both times on a single line separated by a comma, uses a dot for the decimal, and drops the arrow entirely. Because the structure is genuinely different rather than just punctuation, converting to and from SBV means the tool re-reads the timing of every cue and rebuilds each block in the target layout. The converter also reads ASS and SSA files, the styling-heavy formats used by desktop players, but only to pull out the spoken dialogue lines; it treats them as read-only sources because their positioning and styling tags have no direct equivalent in the simpler plain-text formats. Beyond the raw conversion, the tool gives you the feedback you actually need to trust the result. It shows the total cue count so you can confirm none went missing, and the total duration so you can sanity-check that the last caption lands where the video ends. Crucially, it produces a malformed-line report that lists the specific line numbers it could not parse, while still converting every other cue around them. That means a single broken timestamp deep in a long file no longer stops the whole conversion; you get a working file plus a short list of exactly what to inspect by hand. There is also an optional switch to strip inline formatting, so italic tags and positioning overrides can be removed when you want clean, plain caption text. A few practical notes save real frustration. If you are targeting HTML5 video, the track element expects WebVTT, and iOS Safari in particular will not display an SRT file at all, so converting to VTT with a proper header is not optional there. When you convert, open the output and confirm the first line reads WEBVTT and that a sample timestamp now uses a dot rather than a comma; those two checks catch nearly every problem before you ever load the video. Keep your original file until you have confirmed the converted track plays, since it is far easier to reconvert from a clean source than to repair a partially edited one. Because everything happens locally and instantly, you can iterate freely: convert, preview in your player, tweak, and convert again without any upload or wait, which makes fixing a stubborn caption track a matter of seconds rather than a round trip through some online service.

Examples: Subtitle Converter (SRT to VTT)

Input

SRT cue: 1\n00:00:01,500 --> 00:00:04,000\nHello there

Result

WEBVTT\n\n00:00:01.500 --> 00:00:04.000\nHello there

The comma before the milliseconds becomes a dot and a WEBVTT header line is added at the top so web players accept the track.

Input

Convert the same cue to SBV for YouTube

Result

0:00:01.500,0:00:04.000\nHello there

SBV puts both times on one line separated by a comma with dot decimals and no arrow between them.

Frequently Asked Questions – Subtitle Converter (SRT to VTT)

The core difference is how each writes milliseconds in a timestamp. SRT uses a comma, as in 00:00:01,500, while WebVTT uses a dot, as in 00:00:01.500. WebVTT also requires a line reading WEBVTT at the very top of the file. Without that header most players reject the track entirely. This converter changes every comma to a dot and adds the header automatically.