Convert SBV to VTT
Turn YouTube .sbv captions into WebVTT for web players and HTML5 video.
How to convert SBV to VTT
Open your .sbv file
Drop one SBV file into the box above, or click to browse. It’s read by your browser and never uploaded.
Check the result
The file text is shown before and after, side by side: the WEBVTT header that is added and the timing lines rewritten the WebVTT way. The words don’t change.
Download the .vtt file
Save the converted file. It keeps the original name with the new extension, so
captions.sbvbecomescaptions.vtt.
From YouTube’s format to the web’s format
You captioned a video on YouTube, and now the same video goes on your own site, in a newsletter landing page or in an online course. YouTube hands you the captions as .sbv; the browser asks for .vtt. Both are plain text, and they differ in three places.
The header. A WebVTT file starts with the word WEBVTT on its own line. Browsers check for it before reading anything else. SBV has no header, so the tool adds one.
The timing line. SBV puts start and end on one line with a comma between them and a one-digit hour:
0:00:03.120,0:00:05.480
Is this seat taken?
WebVTT separates them with an arrow and writes two digits for the hour:
00:00:03.120 --> 00:00:05.480
Is this seat taken?
Both use a period before the milliseconds, which is why the files look so alike, and why renaming .sbv to .vtt seems as if it should work. It doesn’t: without the header and the arrow, the browser loads the track and shows nothing.
The text. Copied as it is, line breaks included.
Using the captions on your site
Add the file to your video with a <track> element and name the language, so the browser can list it in the captions menu:
<track kind="captions" src="captions.vtt" srclang="en" label="English" default>
Use kind="captions" when the text also describes sounds, as YouTube captions often do with [music] or [applause], and kind="subtitles" for a plain translation of the dialogue.
Two things stop a track from loading. The .vtt must come from the same origin as the page, or be served with CORS headers together with a crossorigin attribute on the <video>. And the server should send it as text/vtt; most do, but an old configuration may not know the extension.
Web players built on the same feature, such as Video.js, Plyr and JW Player, take the same file, and so do most course and webinar platforms.
Tips for a clean conversion
Skim automatic captions first. YouTube’s auto-generated captions are split into many short blocks that overlap as they roll. They convert correctly, but they are tiring to read in an ordinary player. If the captions matter, edit them on YouTube before you download, or in a subtitle editor afterwards.
Check accented letters. If they look wrong in the preview, pick the right encoding next to the file name, or repair the file with Fix Subtitle Encoding. WebVTT must be UTF-8, and the file is always saved that way.
Need the captions in an editor or on a TV? Those read SubRip. Use Convert SBV to SRT.
Trimmed the video since you captioned it? If you cut the intro, every caption is late by the same amount. Shift Subtitle Timing moves them all at once, and reads .sbv and .vtt alike.
Frequently asked questions
Why do I need WebVTT instead of the .sbv file from YouTube?
SBV is only read by YouTube. To show the same captions on your own website, in a web player or on a course platform, the browser needs WebVTT, the one caption format the HTML5 <track> element accepts.
Will converting change the caption timing?
No. SBV writes both times on one line separated by a comma, 0:01:02.345,0:01:04.000, and WebVTT writes 00:01:02.345 --> 00:01:04.000. The start and end are the same to the millisecond.
Is anything lost when converting SBV to VTT?
Normally nothing. SBV holds only text and timing, and WebVTT holds both. The file gains a WEBVTT header and its timing lines are rewritten; the caption text is copied as it is.
Can I upload the .vtt file back to YouTube?
Yes. YouTube accepts WebVTT uploads, along with SubRip and its own SBV, so one .vtt file can serve both your site and your channel.
Are my subtitle files uploaded anywhere?
No. The file is read and converted by JavaScript in this browser tab. It never leaves your device, and the tool keeps working if you go offline after the page has loaded.
Related tools
Shift Subtitle Timing
Subtitles too early or too late? Move every line by any number of seconds.
Open toolFix Subtitle Encoding
Repair garbled characters like é or ??? caused by the wrong text encoding.
Open toolConvert SBV to SRT
Turn YouTube .sbv captions into SubRip for players, TVs and video editors.
Open tool