Convert SRT to VTT and VTT to SRT subtitles

Paste subtitle text — or drop a .srt or .vtt file — and this page converts it between the two formats with millisecond-exact timing. Cue text is kept verbatim, and identical input always produces identical output.

Private by default: your subtitles are converted entirely in this tab. They are never sent to a server, never logged, and never stored. This page makes no network requests with your content.

Convert subtitles

Auto-detect reads the input and converts it to the other format. You can force a direction if detection is ambiguous.

Paste SRT or WebVTT text, or use the file picker below. Files are read locally and never leave your device.

Choose a .srt or .vtt file, or drop one here

No file selected yet.

Ready. Paste subtitle text or load a .srt/.vtt file, then press Convert.

How it works

The conversion has three deterministic stages, all running in this tab:

  1. Detect. The input format is detected from the content (a WEBVTT header means WebVTT; numbered or timestamp-led cues mean SRT), or taken from your chosen direction.
  2. Parse. Cues are read into a neutral list of start time, end time, text triples at millisecond precision. WebVTT comment (NOTE) and style (STYLE) blocks are skipped, and cue settings such as position or alignment are ignored because SRT has no equivalent.
  3. Serialize. The cues are written in the target format: numbered cues with comma milliseconds for SRT, a WEBVTT header with dot milliseconds for VTT. Cue text — including inline tags like <i> — is preserved verbatim.

Downloads are generated with the browser's Blob API and never touch the network. The same input always produces the same output, so re-running a conversion is safe and diffable.

When would you convert SRT to VTT?

The conversion itself is mechanical — timings and text stay the same and only the notation changes. People convert subtitles for a few common reasons:

SRT vs WebVTT: what changes when you convert?

SRT (SubRip) and WebVTT both store cues as start/end timestamps plus text, but they use different notation. Here is exactly what changes — and what stays the same:

Property SRT WebVTT (VTT)
File header None — cues start directly WEBVTT on the first line
Cue numbering Numbered (1, 2, 3…) Optional, not required
Milliseconds separator Comma: 00:00:01,000 Dot: 00:00:01.000
Inline tags <i>, <b>, <u> Same, plus <v> voice and <c> class
Cue positioning None position, align, line settings
Typical use Desktop players, broadcast, most video tools Web-native: HTML5 <track>, YouTube

The same cue in both formats — only the header, the cue number, and the comma/dot separator differ; timing and text are identical:

1
00:00:01,000 --> 00:00:04,000
Hello from the first cue
WEBVTT

00:00:01.000 --> 00:00:04.000
Hello from the first cue

Supported inputs and limits

Frequently asked questions

Does my subtitle file leave my computer?

No. The page is a static bundle of JavaScript; parsing and conversion run in your browser tab. There is no server call that receives your subtitle text, so unreleased or unpublished content stays private.

Which formats are supported?

SRT (SubRip) and WebVTT (VTT). You can convert either direction, or let the tool auto-detect the input format and convert it to the other one.

Are cue timings preserved exactly?

Yes. Timing is kept at millisecond precision; only the notation differs between formats (SRT uses a comma before milliseconds, WebVTT uses a dot, and SRT cues are numbered).

What happens to WebVTT cue settings such as position and align?

Cue settings are dropped because the SRT format has no equivalent for them. Cue text and timing are kept verbatim; inline tags such as <i> or <v> are preserved.

Is SRT to VTT conversion free?

Yes. The converter is free and unlimited — there is no account, no upload, and no page reload. Parsing and serialization run entirely in your browser tab, so you can convert as many files as you like.

Can I convert subtitles for YouTube?

Yes. YouTube accepts both SRT and WebVTT caption files. Convert your file here, download the result, and upload it in YouTube Studio. This tool only changes the format — it does not translate captions or fix timings.

Part of Local Toolworks. Last reviewed: 2026-08-16.