Veloci Tools

SRT to VTT Converter: Convert Subtitles to WebVTT Captions

Convert .srt subtitle files to WebVTT (.vtt) for HTML5 video, YouTube, and web players. Timestamps and formatting are converted automatically, entirely in your browser.

What this tool does

This tool converts SubRip (.srt) subtitle files into the WebVTT (.vtt) format that HTML5 video players, YouTube, and most modern web video platforms require. It adds the required WEBVTT header line, converts every timestamp from SRT's comma millisecond separator to WebVTT's period separator, and normalizes line endings so the output is valid regardless of whether the source file came from Windows, Mac, or a subtitle editor. Text formatting tags like italics and bold are preserved, and a toggle lets you keep or drop the numbered cue identifiers, both are valid in WebVTT, so this comes down to preference rather than a compatibility requirement.

Who it's for

Video editors and content creators who have subtitles in SRT format, the most common subtitle format from editing software and transcription tools, but need WebVTT for a website video player, an HTML5 video tag, or a platform that only accepts .vtt uploads. It is also useful for developers wiring up captions for a video element who received subtitle files in SRT and need a quick, reliable conversion without installing command line tools.

How to use it

  1. Paste your SRT subtitle text into the box, or upload an .srt file.
  2. Toggle whether to keep numbered cue identifiers in the output, both formats are valid so this is a style choice.
  3. Review the cue count and the preview of the first few converted cues.
  4. Click Download VTT to save the converted file.
  5. Reference the .vtt file from a <track> element in your video player or upload it wherever WebVTT captions are required.

Good to know

This tool converts the core structure, timestamps and text, of an SRT file. Advanced SRT-specific styling directives from certain subtitle editors that have no direct WebVTT equivalent are passed through as plain text rather than being translated to WebVTT cue settings. Everything runs locally using JavaScript in your browser, no subtitle content is ever uploaded to a server.

Frequently asked questions

What is the actual difference between SRT and WebVTT timestamps?

SRT uses a comma to separate seconds from milliseconds, for example 00:00:01,500, while WebVTT requires a period in the same position, 00:00:01.500. This is the most common reason a valid SRT file gets rejected when uploaded somewhere expecting VTT, and this tool converts every timestamp automatically.

Do I need to keep the numbered cue identifiers when converting to VTT?

No, cue numbers are optional in WebVTT, unlike SRT where they are required. This tool defaults to keeping them since it does not hurt anything and some workflows expect them, but you can toggle them off if you want a cleaner file.

Will italic, bold, or other formatting tags survive the conversion?

Yes, tags like <i> and <b> are valid in both SRT and WebVTT and are passed through unchanged, so any formatting already in your subtitle file will still render the same way in a WebVTT-compatible player.

Can I upload a .srt file that uses a byte order mark or Windows line endings?

Yes, this tool strips a leading byte order mark if present and normalizes both Windows-style CRLF and Mac-style CR line endings to a consistent format, so files exported from Windows subtitle editors convert without stray characters showing up in the output.

Does YouTube accept WebVTT caption files?

Yes, YouTube accepts .vtt uploads directly for custom captions, alongside SRT, so this converter is useful if a platform, plugin, or workflow you use specifically asks for WebVTT instead of SRT.

Is there a limit to how many subtitle lines this tool can convert?

No hard limit, since conversion happens entirely in your browser rather than being uploaded to a server, a full-length movie or long-form video's subtitle file converts just as easily as a short clip's.

Related tools