Skip to content
Pixora

SRT to VTT Converter

Processed locally in your browser — nothing is uploaded.

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.

How to srt to vtt converter

  1. 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.

  2. 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.

  3. Download or copy

    Download the .vtt file or copy it to your clipboard, then reference it from a <track> tag in your HTML5 <video>.

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?

The concrete differences a converter has to handle.
FeatureSRT (SubRip)VTT (WebVTT)
Header lineNoneRequires WEBVTT on the first line
Timestamp separatorComma — 00:00:01,500Period — 00:00:01.500
Cue numbersRequired before each cueOptional
Styling & positioningNone (unofficial <i>/<b> only)Cue settings, regions, CSS ::cue
Where it playsVLC, YouTube, most desktop playersHTML5 <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.

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.

Frequently asked questions

Why 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.

Does 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.

Will 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.

Can 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.

Do 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.

Is 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.

What 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.