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.
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.
- Open the SRT in a text editor. You should see cue numbers,
00:00:01,000 --> 00:00:04,000timestamps, then dialogue. - Confirm the wording looks right. Conversion does not rewrite the script.
- 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
- Drop one or more
.srtfiles, or click to browse. Batch is free. Per-file and per-batch limits are shown on that page. - Click convert to VTT.
- 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
.vttastext/vttif 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. Usekind="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.
Related tools
- SRT to VTT — the converter this walkthrough uses
- VTT to SRT — back to an editor
- Supported formats — pick SRT, VTT, ASS, or SBV by destination