Subtitle converter

Convert subtitle files in your browser. Start with SRT to VTT below, or choose another converter. No uploads or sign-up.

UTF-8 or Windows-1252 text, up to 5 MiB. Files are read locally in your browser and are never uploaded or stored.

Loaded files decode as UTF-8 by default. If the text comes out with garbled accents or currency signs, the file may be a legacy Western-European Windows-1252 file — choose Windows-1252, review the decoded preview, then confirm to use it. Only these two encodings are supported; nothing is detected automatically.

Paste SRT text here, or load a file above. Conversion runs automatically. Everything stays on this device.

Advertisement

Optional ads support this free tool. If you allow them, Adsterra and its partners may use cookies and receive your IP address and device information. Privacy details

How to convert SRT to VTT

  1. Paste SRT subtitles or choose a .srt file up to 5 MiB. UTF-8 converts automatically; for Windows-1252, choose the encoding and confirm the preview.
  2. Edit the source any time to re-convert, or press Convert to retry on demand.
  3. Review the VTT result — the cue count and any warnings appear with the output.
  4. Download the .vtt file, or copy the text straight out of the result box.

What changes between SRT and WebVTT

SRT (SubRip) numbers every cue and writes timestamps with a comma, like 00:00:01,500. WebVTT — the web caption standard, usually saved as .vtt — writes the same moment as 00:00:01.500 with a dot, and the file must start with a WEBVTT header line. This converter rewrites the timestamps, adds the header, and preserves your cue timings and visible caption text. It exports plain captions: styling markup in the SRT (such as <i> or <font> tags) is stripped, and each removal is reported as a warning.

SRT to VTT example: multiple cues

Illustrative sample. Both cues keep their timings, text and line breaks. The converter adds the WEBVTT header and changes timestamp commas to dots.

SRT input
1
00:00:01,500 --> 00:00:03,000
Hello!
Welcome back.

2
00:00:59,500 --> 00:01:02,000
See you soon.
VTT output
WEBVTT

00:00:01.500 --> 00:00:03.000
Hello!
Welcome back.

00:00:59.500 --> 00:01:02.000
See you soon.

Frequently asked questions

Will my timings or caption text change?

Timings and visible caption text are preserved: timestamps switch from comma to dot decimals and a WEBVTT header is added. The output is plain caption text — any SRT styling tags (like italics or font color) are stripped and listed as warnings.

Why does HTML5 video need WebVTT instead of SRT?

The <track> element in browsers only accepts WebVTT (.vtt) files. SRT is widely used by editors and media players, but it is not a web standard.

Can I convert an SRT file encoded as Windows-1252?

Yes. Choose Windows-1252 under Text encoding and check the preview before using it. If the text is still garbled, the file may use another encoding. The downloaded result is UTF-8.

Are my subtitles uploaded anywhere?

No. Parsing and conversion run entirely in your browser with JavaScript. Your subtitle text and files are never uploaded, stored, or logged by the converter.

What files can I load?

An SRT file up to 5 MiB, encoded as UTF-8 or Windows-1252. You can also paste subtitle text directly into the source box.

All converters