Convert VTT to SRT in your browser
Open a .vtt and save it as .srt. The conversion runs in this tab: no upload, no account, no video and no speech model needed. Every line keeps its start and end time and its text.
Free. No account. One file at a time.
How to convert VTT to SRT
OpenSubs is a subtitle generator, and it reads subtitle files as well as writing them. Converting VTT to SRT is opening one format and saving the other.
- Open opensubs.app and choose Open an .srt or .vtt, or drop the .vtt anywhere on the page.
- Check the lines in the list. If the characters look wrong, the file was not UTF-8: pick its encoding and it is read again.
- Open the Export tab and press .srt. The file downloads as
subs.srt; rename it to match your video.
What changes from VTT to SRT
The two formats hold the same thing, timed lines of text, written differently. Converting one to the other changes the wrapping, not the content.
Kept
Every line's start and end time, to the millisecond, and its text, line breaks included.
Rewritten
The WEBVTT header goes, lines are numbered from 1, and
timecodes take a comma before the milliseconds, as SRT expects.
Dropped
SRT has no place for them: NOTE, STYLE and
REGION blocks, cue identifiers, and positioning such as
line:90% or align:center.
Put in order
Lines that are out of time order in the .vtt come out in time order, and a timing with no text is left out rather than becoming a blank line.
A VTT to SRT converter that tells you what is wrong
A converter that quietly drops a broken line gives you a file that looks fine and is missing a sentence. This one refuses instead: a timing line it cannot read, or a line that ends before it starts, is reported with its line number, so you can fix the .vtt and open it again.
Before you save, you can also correct the text in the subtitle editor, translate the subtitles, or save the .vtt as .ass to keep a style you choose.
What it will not do
- Convert a batch. It is one file at a time.
- Keep VTT positioning or styling, because SRT cannot hold them.
- Change timings while converting. They come out as they went in.
What leaves your machine
Nothing. The file is read in the tab, and nothing is uploaded. You can check it rather than take it on trust: open the Network tab, then convert VTT to SRT. After the page has loaded, there are no requests.
The source is public under the AGPL-3.0-or-later, on GitHub. Questions, or a problem to report: email hello@opensubs.app.
Questions
How do I convert VTT to SRT for free?
Open opensubs.app, choose Open an .srt or .vtt, pick the .vtt, then press .srt in the Export tab. It is free, with no account, and the file never leaves your browser.
Is my VTT file uploaded?
No. The conversion runs in your browser, and nothing is sent anywhere.
Do I need the video to convert VTT to SRT?
No. Only the .vtt is needed. No video and no speech model.
Will the timings change?
No. Each line keeps its start and end time to the millisecond. Only the way they are written changes.
What happens to VTT styling and positions?
They are dropped, because SRT has no place for them. To keep a look, save as .ass instead, which carries the style you choose in the app.
Can I convert SRT to VTT as well?
Yes. Open the .srt and press .vtt in the Export tab. More about SRT to VTT.