Convert SRT to WebVTT
SubRip Subtitle (SRT) to WebVTT (Web Video Text Tracks). Convert in the web app, automate with the REST API, or run it offline with the CLI.
SRT and WebVTT look almost identical, but a renamed .srt file is not valid WebVTT. Converting adds the required WEBVTT header, changes the millisecond separator from a comma to a period, and writes the file in UTF-8, which is what browsers and HLS players expect.
What carries over
- All cue text and timing, to the millisecond
- Italics, bold and underline tags
- Cue numbers, kept as WebVTT cue identifiers
What changes
- A
WEBVTTheader is added and timestamps use.instead of, - Text is re-encoded as UTF-8. Set the source encoding if your SRT uses a legacy code page
- Non-standard
<font>tags and{\an8}overrides are not valid WebVTT and should be removed or mapped
How to convert SRT to WebVTT
The same conversion engine powers all three, so a job you set up in the web app produces identical output from the API or CLI.
In the web app
- Sign in to the web app, or start a free trial.
- Upload your .srt file and select SubRip Video Subtitle Script as the source profile.
- Select WebVTT as the target profile.
- Review the recommended settings for this conversion.
- Run the conversion and download your .vtt file.
With the API
curl -X POST https://api.closedcaptionconverter.com/jobs \
-H "x-api-key: YOUR_API_KEY" \
-F "source=@input.srt" \
-F 'config={
"job_type": "convert",
"source_profile": "SubRip Video Subtitle Script",
"target_profile": "WebVTT"
}'See API Getting Started for authentication and response handling.
With the CLI
ccconverter \
--source input.srt \
--target output.vtt \
--source_profile "SubRip Video Subtitle Script" \
--target_profile "WebVTT"The CLI runs fully offline on macOS, Windows and Linux. See the CLI docs for every flag.
Recommended settings
| Source encoding | Set it explicitly (for example Windows-1252) if accented characters look wrong. |
|---|---|
| Auto Format | Optional: re-wrap long lines for small screens. |
Format-specific options are covered in Encoding & Decoding Options and Profiles & Formats.
SRT to WebVTT questions
Some lenient players accept it, but browsers and strict validators do not. The header and the timestamp separator must change, and converting is the reliable fix.
No. Both formats use millisecond timing, so times carry over exactly.
Yes. WebVTT supports cue settings for placement, and SRT has nothing to carry over. If some captions need to sit at the top of the screen, adjust them in the web app before exporting.
Learn more about these formats
Related conversions
Convert SRT to WebVTT now
Upload your .srt file and download WebVTT in seconds, or automate it with the API and CLI.