Guide

Convert SRT to VTT for HTML5 and web players

Hand a SubRip file to an HTML5 track, course site, or CMS embed. Timing and plain text become WebVTT in the browser — no upload, no account.

All guides

You finished captions in CapCut, Premiere, or a plain text editor. The file is .srt. The HTML5 player, video.js setup, LMS, or CMS caption field asks for WebVTT (.vtt). This page is that handoff: a clean SRT file into a .vtt a <track> element can load. Files stay on your device.

SRT and VTT both carry timing and plain text. VTT is what browser players expect. Most desktop editors still export SRT first.

1. Confirm the player wants VTT

  • HTML5 / browser players — <track kind="captions" src="captions.vtt"> expects WebVTT.
  • Course platforms and LMS — many upload fields label the format as VTT or WebVTT.
  • CMS / help-center embeds — marketing and docs videos often wire captions as .vtt.
  • Desktop NLEs and CapCut — those usually want SRT. Skip this conversion if the editor only imports SRT.

If you are unsure which format the next tool needs, see the formats overview.

2. Export a clean SRT

Export SubRip (.srt). Prefer UTF-8 when the dialog offers an encoding.

  1. Open the SRT in a text editor. You should see cue numbers, 00:00:01,000 --> 00:00:04,000 timestamps, then dialogue.
  2. Confirm the wording looks right. Conversion does not rewrite the script.
  3. If Chinese or other non-Latin text is already garbled, re-save as UTF-8, then convert.

CueConvert keeps timing and plain text. It does not restyle captions. If the source was styled ASS, read when ASS styles are dropped before you leave ASS.

3. Convert on the SRT to VTT page

Open SRT to VTT

  1. Drop one or more .srt files, or click to browse. Batch is free. Per-file and per-batch limits are shown on that page.
  2. Click convert to VTT.
  3. Preview cues if you want a check, then download. A batch comes back as one zip of successful files. Failures are listed separately.

No account. Nothing is uploaded for conversion.

4. Wire the VTT into the HTML5 player

<video controls src="video.mp4">
  <track kind="captions"
         src="captions.vtt"
         srclang="en"
         label="English"
         default>
</video>
  • Serve .vtt as text/vtt if the host needs an explicit MIME type.
  • Keep the video and VTT on the same origin when you can, or set CORS on the caption URL.
  • kind="captions" is for dialogue. Use kind="subtitles" when that matches your accessibility policy.
  • Play a few minutes and toggle captions. Check an early cue, a middle cue, and a late cue.

For video.js, Plyr, or a CMS field, upload the same .vtt where that product asks for WebVTT.

5. When an editor wants SRT again

VTT to SRT turns the web file back into SubRip. Timing and text are the goal. Web-only VTT styling is not kept in a plain SRT file.

Common mistakes and honest limits

Wrong destination. A VTT file often will not import into Premiere or CapCut. Those tools expect SRT. Match the destination first (formats).

Assuming styles survive. SRT is plain text plus timing. If the source was ASS, styles are dropped on purpose. See when ASS styles are dropped.

Encoding. Garbled text usually means the SRT was not UTF-8. Fix the SRT, then convert again.

Image or broadcast formats. CueConvert handles SRT, VTT, ASS/SSA, and SBV. PGS, SUB/IDX, TTML, SCC, and STL are not supported.

Batch and size caps. Limits are shown on the tool page. Split the job if you hit them.

Rights. Only convert files you own or are licensed to use.

Quick FAQ

Does CueConvert upload my SRT? No. Conversion runs in the browser. No account.

Is batch free? Yes, within the limits shown on the tool page. Successful files download as one zip.

Will timing stay accurate? The goal is the timing and text from your source. Spot-check in the player after download.

Can I convert VTT back to SRT? Yes. Use VTT to SRT.

What about ASS with heavy styling? Convert only when plain dialogue is enough. Styles are dropped on purpose.