Convert SRT subtitles to WebVTT for web video
Browsers play captions in WebVTT, not SRT, so a web page, a self-hosted player or a course platform often asks for a .vtt file. Upload your .srt files, or a ZIP, and download VTT with every line on its original timing and a correct WEBVTT header. Jobs with up to 3,000 lines are free in full; bigger batches are $5, paid once.
- WEBVTT header added, commas in the times changed to periods
- SRT numbers kept as cue identifiers
- Italic, bold and underline kept; font color tags removed
- Old Windows encodings converted, since WebVTT must be UTF-8
- Same file names with .vtt; several files download as one ZIP
Why a web player wants VTT
The HTML5 video element loads captions through a track element, for example <track kind="subtitles" src="lesson-01.vtt" srclang="en" label="English">, and browsers expect WebVTT there. An SRT file in the same place is usually ignored without any error message. Many online course systems and hosted players follow the same rule and ask for VTT on upload.
The conversion itself is small but exact: a WEBVTT line at the top, a period instead of a comma before the milliseconds, and text that is valid UTF-8. The converter does all three for every line, and the start and end times stay the same to the millisecond.
What changes and what does not
- Times and order: unchanged.
- Numbers: kept as cue identifiers, which VTT allows.
- Italic, bold and underline: kept, since browsers display them.
- <font color> tags: removed, because WebVTT does not use them.
- The {\an8} top-of-screen code: turned into the WebVTT setting line:0, so those lines still appear at the top.
Before you publish
Check that your server sends .vtt files as text/vtt; some servers send an unknown type and the browser refuses the track. If the captions are early or late against your video, fix the timing first with Fix Subtitle Sync, then convert. For a course with many lessons, upload every SRT at once or as one ZIP and keep the file names, so each lesson finds its captions.
The lines are shown on screen before download, and edits you make there are used in the file.
How the tool works, what it costs and how your files are handled is on the Subtitle Converter page; prices for every tool are on the pricing page.
Last updated
Questions and answers
Can ChatGPT convert SRT to VTT?
For a short file, yes: it is mostly a header and commas changed to periods. On a full lesson series or a movie, retyping every time code in a chat tends to stop partway or miss lines, and you still have to save each reply as a file.
Why does my browser ignore my SRT file?
The track element in browsers reads WebVTT. Convert the file to .vtt and make sure the server sends it with the text/vtt type.
Will lines marked to appear at the top stay at the top?
Yes. The SRT {\an8} code would show as text in a browser, so it is replaced with the WebVTT cue setting line:0, which places the line at the top.
What does it cost to convert a whole course?
If all files together have up to 3,000 lines, it is free in full. Otherwise one payment of $5 covers up to 50 files or a ZIP with up to 50,000 lines. Unlimited is $19 a week.
Is the output UTF-8?
Yes, UTF-8 with a byte order mark. SRT files saved in an older Windows encoding are recognized and converted, so accented and non-Latin letters display correctly.
Can I get both SRT and VTT?
Yes. After one upload, every format button works, so you can download VTT for the web and keep an SRT copy.