SRT to VTT Converter
- Free
- No upload
- No watermark
Quick answer
SRT and VTT are both plain-text subtitle formats. To convert SRT to VTT you add a "WEBVTT" header line at the top and change the comma in every timestamp to a period — so 00:01:02,500 becomes 00:01:02.500. This tool does both automatically, entirely in your browser, and gives you a .vtt file ready for the HTML5 <track> element. Nothing is uploaded.
Step by step
How to srt to vtt converter
- 01
Add your SRT file
Drag an .srt file onto the drop zone, or paste the SubRip text straight into the box. The tool detects the format on the spot.
- 02
Convert to VTT
The converter inserts the WEBVTT header and rewrites every timestamp from comma to period. The WebVTT output appears instantly in the preview.
- 03
Download or copy
Download the .vtt file or copy it to your clipboard, then reference it from a <track> tag in your HTML5 <video>.
In depth
Why do you need VTT instead of SRT?
The single biggest reason is HTML5 video. The <track> element that adds captions to a <video> on a web page only accepts WebVTT — feed it an SRT file and the captions silently never appear. SRT remains the universal format for desktop players (VLC, MPC-HC) and for uploading to YouTube, but the moment your subtitles need to play inside a browser, they have to be VTT.
The two formats are close cousins. WebVTT was designed as a web-native evolution of SubRip, so a straightforward SRT converts to a valid VTT with only two mechanical changes — which is exactly why this conversion is safe and lossless for ordinary subtitles.
What actually changes between SRT and VTT?
| Feature | SRT (SubRip) | VTT (WebVTT) |
|---|---|---|
| Header line | None | Requires WEBVTT on the first line |
| Timestamp separator | Comma — 00:00:01,500 | Period — 00:00:01.500 |
| Cue numbers | Required before each cue | Optional |
| Styling & positioning | None (unofficial <i>/<b> only) | Cue settings, regions, CSS ::cue |
| Where it plays | VLC, YouTube, most desktop players | HTML5 <track>, browsers |
This tool copies your cue text across verbatim, so any <i> or <b> tags your SRT contained keep working — WebVTT supports the same basic HTML-style tags. If you want to strip them, run the result through the remove formatting tool afterwards.
How do you use the VTT file in a web page?
Once you have the .vtt file, point a <track> element at it inside your <video>:
<video controls>
<source src="movie.mp4" type="video/mp4" />
<track kind="subtitles" src="movie.vtt" srclang="en" label="English" default />
</video>Is my subtitle file uploaded anywhere?
No. The conversion runs on your own device in JavaScript — the file is read, parsed and rewritten in memory and never sent to a server. You can confirm it: open your browser DevTools, switch to the Network tab, and convert a file. No upload request appears. That matters for unreleased films, private interviews and client work whose captions are confidential.
Related subtitle tools
Going the other way? Use VTT to SRT. Need a different target such as ASS or SBV? The universal subtitle converter handles any pair. And if your goal is to bake captions permanently into the footage, add subtitles to a video burns or muxes them in-browser.
Your files never leave your device
Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.
- No file is ever uploaded to a server
- Works offline after the first visit
- No account, no watermark, no limits
A little more clarity
Frequently asked questions
01Why won’t my SRT captions show on my website?
The HTML5 `<track>` element does not read SubRip. It only accepts WebVTT, so an SRT referenced from a `<track>` tag is ignored. Convert it to VTT first and the captions appear.
02Does converting SRT to VTT lose any timing accuracy?
No. Timestamps are converted millisecond-for-millisecond; only the decimal separator changes from a comma to a period. The cue durations are identical.
03Will my italics and bold survive the conversion?
Yes. WebVTT supports the same `<i>`, `<b>` and `<u>` tags SubRip uses unofficially, so styled text carries across unchanged.
04Can I convert several SRT files at once?
Yes. Drop multiple files and the tool converts each and lets you download them together, all without uploading anything.
05Do I need to keep the WEBVTT header?
Yes — it is mandatory. A WebVTT file that does not begin with the literal word WEBVTT on its first line is invalid and browsers will reject it. The converter always adds it.
06Is WebVTT the same as SubViewer or SBV?
No. SBV is YouTube’s SubViewer format with a different timestamp style and no header. Use the universal converter if you have SBV rather than SRT.
07What MIME type should the .vtt file be served as?
text/vtt. If your captions do not load despite a correct `<track>` tag, a wrong content type (often text/plain) is the usual cause.
Guides
Further reading
- Guide6 min readHow to convert SRT to VTT (and why HTML5 video needs it)A browser will not play an SRT file, but converting one to the VTT it does accept is almost trivial. Here are the two changes involved, and the exact markup to load the result.Read the guide
- Guide6 min readSRT vs VTT: what's the difference and which should you use?SRT and VTT look almost identical, but they are not interchangeable. One plays everywhere; the other is the only format a web page will accept. Here is when to reach for each.Read the guide
- Guide6 min readHow to fix subtitle encoding problems (garbled characters)When accented letters turn into é or ż, the words are fine — the file is just being read with the wrong alphabet. Here is why it happens at the byte level, and how to re-decode and save clean UTF-8.Read the guide
Keep going
Related subtitle tools
More tools, same promise.
123 tools for images, video, audio and subtitles — every one of them runs on your device, and a result can go straight into the next.
- Free forever
- No sign-up
- Nothing uploaded