SRT to VTT Converter

A free online tool that turns a SubRip .srt subtitle file into a WebVTT .vtt file an HTML5 player can actually read.

Drop an .srt here or click to choose
Converting…
              

Get the transcript from YouTube itself

YouTube Video to Text Converter is a free Chrome extension: open any video and it pulls the transcript right on the page - as clean text or as subtitles.

  • Transcript of any YouTube video in one click
  • Clean text without timecodes - or .srt with them
  • Copy to clipboard or save as a file
  • Works with subtitles in other languages
YouTube Video to Text Converter
Free Chrome extension
Install from Google Chrome Web Store
Get YouTube Video to Text Converter

Free Chrome extension - no account, no upload.

100% private: the file is parsed and converted entirely in your browser. Your subtitles are never uploaded to a server - unlike cloudconvert or freeconvert.

This SRT to VTT converter takes a SubRip file and writes the WebVTT version that HTML5 players expect. Timestamps switch to the dot form, the WEBVTT header goes on the first line, and the wording of every cue stays exactly as your translator left it. Drop a file above and the .vtt is ready to download in a moment.

How to convert SRT to VTT in your browser

  1. Pick the .srt file
    Drag your subtitle file into the drop zone above, or click it and choose the file on disk. The drop zone takes one file per run, so converting a folder of episodes means repeating this step for each one.
  2. The cues are parsed
    Cue numbers, start and end times, and the text lines are read one block at a time. Subtitles exported on Windows usually carry CRLF line endings and a BOM at the start of the file, and neither of them breaks the parser.
  3. Timings are rewritten
    SRT writes milliseconds after a comma, WebVTT after a dot, so 00:01:02,500 becomes 00:01:02.500. The required WEBVTT header is added as the first line, and the numbering is carried over as cue identifiers.
  4. Download and attach
    Save the .vtt file and point a track element at it in your HTML5 player, or upload it to the platform that asked for WebVTT captions.

Why renaming .srt to .vtt does not work

A player that refuses your captions says nothing about why. No error, no warning, just an empty caption menu, and that is what usually sends people looking for a converter. In a text editor the two formats look almost the same, but SubRip to WebVTT is not a rename job. The header line and the millisecond separator are the parts a parser is strict about.

SRT to VTT conversion that stays on your computer.

SRT to VTT conversion that stays on your computer

Subtitles for an unreleased episode, an internal training video, a client cut still under review. A caption file is the full script of a video, and material like that is often something you are not supposed to hand to a third party.

  • The .srt is read and rewritten inside the browser tab, never uploaded.
  • No account and no daily quota, however many files you have.
  • Nothing to install, so a locked-down work laptop is enough.
  • Same result on Windows, macOS, or Linux, because it is plain JavaScript.

Timestamps players accept

The comma is one of the most common reasons a WebVTT file gets rejected with no error message at all. Every timestamp is rewritten to the dot form during the conversion, and the arrow between the two times is kept exactly as the spec wants it. A 45-minute lecture can easily hold 600 cues, which is 1200 timestamps nobody wants to fix by hand.

Numbering carried over

WebVTT treats a line before the timestamp as a cue identifier, so the original SRT numbers survive when converting SRT to VTT. Handy when a proofreader writes back about cue 148 and you need to find the same line in both files.

Tolerant to messy exports

Real subtitle files are rarely clean. We have seen files where a translator left a stray blank line in the middle of a block, and files that mix CRLF and LF because two people edited them in different apps. A UTF-8 BOM, extra blank lines, and mixed line endings do not stop the conversion.

Compute automation Automation image/svg+xml Amido Limited Richard Slater

Italic and bold survive

Emphasis tags inside a cue are preserved rather than stripped, since WebVTT understands the same simple i and b markup that SRT uses. Song lyrics and off-screen speech keep the styling the translator intended.

Who needs SRT to VTT conversion?

Web developers converting SRT to VTT

Browsers do not read SubRip. Chrome, Firefox, and Safari parse WebVTT only, and they take it through the track element in your video tag. Every caption file in the project has to arrive in that format before the caption menu shows anything.

Video editors and subtitlers

Editing suites and subtitle apps still export SRT by default, while the delivery platform asks for WebVTT, so an SRT to WebVTT step lands on someone before every upload. If the video itself also needs work before delivery, that side of the job lives in our video toolkit.

Course and podcast publishers

Learning platforms and podcast hosts often accept captions only as .vtt, so an archive of old SRT files has to be converted before upload. When a lecture is already on YouTube and no caption file exists at all, our Chrome extension that grabs the transcript on the YouTube page gives you the text to start from.

🙋 Frequently Asked Questions

Put the file next to your video and add a track element inside the video tag, with kind='subtitles', the srclang code of the language, and a label for the caption menu. Add the default attribute if captions should be on from the start. If nothing shows up, check that the .vtt is served from the same origin as the page, or that CORS is open for it.

No. Cue text is copied across untouched, and the times stay the same times, only written the way WebVTT wants them. What changes is the plumbing around the text, the WEBVTT header on the first line and the dot before the milliseconds. Italic and bold inside a cue survive as well.

Both editors keep captions in a caption track and write them out to a sidecar file, and the export list depends on the version you run, so the reliable route is to export SRT from the timeline and finish by converting it here. It works in reverse as well, since many editors import a .vtt straight back into a caption track.

Yes, it is free. No account and no daily limit, so you can convert SRT to VTT as often as you need to. The one restriction is one file per run, because the page does no batch conversion. It is a small JavaScript tool we keep free rather than a trial version of something paid.

Four usual suspects. The first line is not WEBVTT; the timestamps still use commas; the server sends the file as text/plain instead of text/vtt; or the file sits on another domain with no CORS header. An SRT to VTT conversion on this page fixes the first two, the other two are server settings on your side.

A plain transcript carries no timings, and a caption file is mostly timings, so it takes two steps. Our text to subtitles converter splits the text into cues and spreads even timecodes over them, then you bring that .srt here and convert SRT to VTT in the second step. If the text does not exist yet either, our desktop transcriber for Windows turns audio and video into text on your own PC. This page itself does no speech recognition, and it does not translate subtitles.
YouTube Video to Text Converter - Chrome extension.Get YouTube Video to Text Converter

Free Chrome extension - no account, no upload.

Related subtitle tools