Convert TXT to VTT
Have the words but no subtitle file? Load a .txt file, choose how the text is cut and how long each line stays, and download a .vtt file you can then sync to your video.
How to convert text to WebVTT captions
Open your .txt file
Drop a plain text file into the box above, or click to browse. It is read in your browser and never uploaded.
Choose how the text is cut
“Line” gives every line its own caption and cuts long lines at sentences. “Paragraph” keeps each block between blank lines together as one caption, and cuts it like a long line if it doesn’t fit two rows.
Choose the timing
“Reading time” keeps each caption on screen as long as it takes to read. “Same for all” uses one duration you type, such as 3 seconds.
Download the .vtt file
Check the captions and their times in the preview, then download. The file keeps the name of your text file with the .vtt extension.
When you need WebVTT from text
Captions for a web video. The HTML5 <video> element only shows captions from a WebVTT file. If your captions exist as text, perhaps written for an accessibility review or copied from a script, they need timestamps and the WebVTT structure before a browser will show them.
An online course or a webinar. Course platforms and video hosts ask for .vtt files for each lesson. A transcript exported as plain text from a recording tool can be turned into captions here, then synced.
Accessibility. Captions help viewers who are deaf or hard of hearing, people watching without sound and viewers following in a second language. A text file is often where captions start; WebVTT is how they reach the web player.
What the tool writes
A valid WebVTT file. The file opens with the WEBVTT line, every caption has a timing line in the 00:00:01.000 --> 00:00:03.500 form, and captions are separated by blank lines. The text is saved as UTF-8, which WebVTT requires.
Safe text. WebVTT treats < as the start of a tag and & as the start of a character reference. Your text is written so that a < or & in it shows up as itself instead of breaking the caption.
Readable captions. Long lines are cut at sentences and wrapped onto two rows of up to 42 characters. With reading time, a caption stays about one second per 15 characters, between 1.5 and 7 seconds, with a tenth of a second between captions.
Tips
Sync after converting. The captions follow each other from 0:00. Open the .vtt in Shift Subtitle Timing with your video and move them until the first caption appears with the first words.
Need it for a TV or an editor? Most TVs, media players and editing programs want SubRip. Convert TXT to SRT makes the same captions as an .srt file.
Have captions already? To read the words of an existing caption file, use Convert VTT to TXT. For everything inside a WebVTT file, from the header to cue settings, see What is a VTT file?
Frequently asked questions
How do I turn a text file into a VTT file?
Open the .txt file, pick “Line” or “Paragraph” for how the text is cut, and pick reading time or a fixed number of seconds. The preview shows every caption with its times. Download the .vtt file and sync it to your video.
Does the .vtt file work in an HTML5 video player?
Yes. It starts with the WEBVTT header, uses the period in timestamps that WebVTT requires and is saved as UTF-8, so the <track> element, Video.js, Plyr and other web players read it. Characters such as & and < in your text are written so browsers show them correctly.
Can I upload the result to YouTube or Vimeo?
Yes, both accept WebVTT caption files. The captions start at 0:00, so line them up with the video first, in Shift Subtitle Timing or in the platform’s own caption editor.
Why do the captions start at 0:00?
A text file has no times, so the tool can’t know when each line is spoken. It times the captions one after another from the start at a comfortable reading pace, which you then move into place.
What is the difference between VTT and SRT here?
The captions are the same; only the file format differs. Choose VTT for websites and web players, and SRT, with Convert TXT to SRT, for TVs, media players and video editors.
Are my files uploaded anywhere?
No. The text is read and turned into captions 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 toolConvert TXT to SRT
Turn plain text, like a script or a transcript, into timed SubRip subtitles.
Open toolConvert VTT to TXT
Pull the dialogue out of WebVTT subtitles as plain text, with or without timestamps.
Open tool