Some tools give you one button.
Subtitle format converter
Convert SRT ↔ WebVTT
Detect and convert SRT or WebVTT, preview timecodes, then copy or download a UTF-8 file.
Parsed only in your browser; explicitly supports UTF-8 SRT and WebVTT
Subtitle track
Detect the format and convert its timecode syntax
Sample SRT loaded. Convert it now or paste your own subtitles.
Result proof
4 VTT cues
We would rather make the timing, format, and limits clear.
LOCAL FIRST: subtitle text never leaves your browser.
Speaker: Sync can shift a whole track or correct drift that grows over time.
Show complete file text
WEBVTT 00:00:02.400 --> 00:00:05.200 Some tools give you one button. 00:00:05.600 --> 00:00:08.900 We would rather make the timing, format, and limits clear. 00:00:10.100 --> 00:00:13.800 LOCAL FIRST: subtitle text never leaves your browser. 00:00:15.000 --> 00:00:18.600 Speaker: Sync can shift a whole track or correct drift that grows over time.
Output stays UTF-8. WebVTT uses a period for milliseconds; SRT uses a comma.
Methods & limits
SRT and WebVTT look alike, but conversion takes more than renaming a file
SRT usually numbers cues and separates milliseconds with commas. WebVTT begins with WEBVTT, uses periods for milliseconds, and can include cue settings, notes, styles, and regions.
The converter reads valid time ranges and text, then writes a basic, broadly compatible track. Complex WebVTT styles, regions, and notes do not migrate unchanged, so inspect the preview.
Parse cue start, end, and text → normalize to milliseconds → renumber and serialize in the target format.
Typical tasks
Convert SRT ↔ WebVTT · Typical tasks
Each example lists the job, the result you get, and what still needs a human check against your own files.
Turn SRT into WebVTT for the web
- Task
- You have 120 UTF-8 SRT cues for an HTML5 video caption track.
- Result
- Get a .vtt file with a WEBVTT header, period milliseconds, and the original cue text.
- Check
- Load it in the target player. Complex styles, regions, and cue settings are not preserved unchanged.
Convert VTT for an SRT-only editor
- Task
- A basic WebVTT track must enter an editing workflow that accepts only SRT.
- Result
- Valid ranges become numbered SRT cues with comma milliseconds while text remains.
- Check
- WebVTT-only STYLE, REGION, and NOTE structures are dropped. Review the cue preview before download.
Clean secrets before publishing captions
- Task
- Conversion is complete, but names, emails, or internal codes may remain in the subtitles.
- Result
- Download the conversion, then create a sharing copy with the text redaction tool.
- Check
- Format conversion does not detect secrets. Read natural-language addresses and nicknames manually.
FAQ
Convert SRT ↔ WebVTT · FAQ
Can I just rename the extension?
Not reliably. Headers, millisecond separators, and parts of the syntax differ, so a player may reject the file.
Does it support ASS, SSA, or LRC?
No. This version promises only SRT and WebVTT. Other timing and style grammars need dedicated parsing.
Are VTT styles preserved?
Basic cue text is preserved. STYLE, REGION, NOTE, and complex cue settings are not emitted unchanged.