SRT to VTT Converter
Convert subtitles between SRT, WebVTT and plain text, fixing the timestamp separator, header and encoding differences that make one format fail where the other works.
Last reviewed by the Radiatus Cloud team
Need this done properly for your business?
Radiatus delivers secure cloud, DevOps & compliance engineering.
Two formats separated by one character
SRT and WebVTT are structurally almost identical: a cue number, a timestamp range, the text, and a blank line. The differences are small and each one breaks the file entirely. SRT uses a comma before the milliseconds and VTT uses a full stop. VTT requires a WEBVTT header line at the top and SRT must not have one. VTT makes the cue number optional while SRT requires it. A file that fails to load in a browser is usually failing on one of those three points rather than anything structural.
Encoding is the other half of the problem
SRT files predate widespread UTF-8 adoption and are frequently encoded in a regional code page, so accented characters and non Latin scripts appear as mojibake when read as UTF-8. WebVTT is defined as UTF-8 only. Converting the text without converting the encoding produces a file that loads and displays the wrong characters, which is harder to diagnose than a file that fails outright.
What VTT adds
Beyond the format differences, WebVTT supports positioning, alignment, styling through CSS, region definitions for scrolling captions, and cue identifiers that can be targeted individually. None of that survives a conversion from SRT because SRT cannot express it. Going the other way, from VTT to SRT, silently discards all of it, which is worth knowing before converting a styled caption file for a player that only accepts SRT.
Related tools
- Emoji Picker & Copier — Browse, search, and copy emojis by category. Collect multiple emojis and copy them all at once. Recently used emojis saved locally.
- Text to Speech Player — Convert text to natural speech using the Web Speech API. Adjustable voice, speed, pitch, and volume with playback controls.
- Speech to Text Transcriber — Transcribe speech to text using your microphone. Supports multiple languages with continuous listening, copy, and download features.
- Instagram Caption Generator — Generate Instagram caption ideas from a topic, tone, and optional CTA. Fast, template-based suggestions.
Frequently Asked Questions
What is the actual difference between SRT and VTT?
The timestamp separator is a comma in SRT and a full stop in VTT, VTT requires a WEBVTT header that SRT must not have, and cue numbers are required in SRT and optional in VTT. Everything else about the basic structure is the same.
Why do my subtitles show strange characters?
The file is almost certainly not UTF-8. SRT files predate widespread UTF-8 use and are often in a regional code page, so accented characters break when read as UTF-8. WebVTT is UTF-8 only, so the encoding has to be converted along with the format.
Does converting lose anything?
From SRT to VTT, no, because SRT carries less. From VTT to SRT, yes: positioning, alignment, styling, regions and cue identifiers are all discarded silently because SRT cannot express them.
Why will my VTT file not load in a browser?
Usually a missing WEBVTT header on the first line, a byte order mark before it, or comma separators left over from SRT. All three cause the browser to reject the file with no useful error.
What timestamp format do they use?
Both use hours:minutes:seconds followed by milliseconds, as HH:MM:SS,mmm in SRT and HH:MM:SS.mmm in VTT. VTT also permits MM:SS.mmm for cues under an hour, which some parsers reject.
Privacy & Security
Everything runs in your browser; nothing is uploaded.
How to Use
Paste your subtitle file and choose an output format to convert it.
Disclaimer: This tool is provided "as is" without warranty of any kind. Results are for educational and utility purposes.
Related Tools
Emoji Picker & Copier
TextBrowse, search, and copy emojis by category. Collect multiple emojis and copy them all at once. Recently used emojis saved locally.
Text to Speech Player
TextConvert text to natural speech using the Web Speech API. Adjustable voice, speed, pitch, and volume with playback controls.
Speech to Text Transcriber
TextTranscribe speech to text using your microphone. Supports multiple languages with continuous listening, copy, and download features.