Convert WebVTT to SubViewer (.sbv)

Takes a web caption file and writes the plainer format YouTube Studio's uploader expects. Header, styling blocks, and cue positioning are dropped, because SubViewer has no way to express any of them.

Drop a .vtt file here

or click to choose one. It is converted in this page and never uploaded.

From the most expressive caption format to the least

WebVTT can position a cue, style it, group cues into regions, and carry comments. SubViewer has two timecodes and some text. Everything in the first list goes, which is fine for the usual purpose: YouTube applies its own caption styling and ignores positioning on upload regardless.

Escaped entities are resolved on the way through, so an ampersand written as markup in the VTT arrives as an ampersand rather than as its escape sequence.

Nothing is uploaded

The .vtt is read and the .sbv is written in this page, by the same code that builds exports in the editor. The file never reaches a server and no copy is kept. A subtitle file is a transcript, and a transcript is often the part of a project that cannot leave the building.

Frequently asked questions

Could I upload the VTT to YouTube instead?

YouTube does accept WebVTT. Converting is useful when you want the file to match what YouTube exports, or when another tool in the chain wants SubViewer specifically.

No subtitle file yet?

Generate one from your audio or video with word-level timing, then export SubViewer directly, no conversion step, and every word individually timed rather than every line. Free for 15 minutes and 5 transcriptions a month.

Transcribe a file instead