Convert SRT / SCC / ITT to WebVTT (.VTT)
Subtitle → WebVTT Converter
Supported inputs: .srt, .scc, .itt/.xml (iTT/TTML). Output: .vtt.
How this converter works
Convert common subtitle formats into clean, standards-friendly WebVTT.
Subtitle formats store timing and text in different ways. This tool converts your source captions into standard WebVTT cue blocks — so you can use them in browsers, HTML5 players, and modern streaming workflows.
SRT → VTT
Converts cue timings and keeps plain text lines clean.
SCC → VTT
Converts Scenarist captions into readable WebVTT cues (best-effort mapping).
ITT/TTML → VTT
Converts XML-based subtitles to WebVTT. Some variants use frames and may need the correct FPS.
Tip: WebVTT is the most compatible format for web playback (HLS players, embedded players, and HTML video tags).
Practical guide
Choose the right inputs, then spot-check output for quick confidence.
Pick the right file type
- SRT – great for simple captions. Usually easiest to convert and edit.
- SCC – common in broadcast workflows. Often includes styling/positioning signals.
- ITT / TTML (XML) – used in platform deliveries. Sometimes frame-based (needs correct FPS).
After converting
- Open the
.vttin a text editor and spot-check the first 2–3 cues. - Test in your player (browser/website) to ensure cues render and line breaks look right.
- If cues are consistently early/late, use the VTT Timecode Shifter tool to apply a constant offset.
Use FPS only if your ITT/TTML contains frame-based times like
HH:MM:SS:FF.
If timings look “almost right” but drift, verify the correct FPS (common values: 23.976, 24, 25, 29.97, 30).
Tip: If you’re synced at the start but drift later, that’s usually a framerate/timebase mismatch — not a constant offset.
Troubleshooting & FAQ
Common issues and quick fixes for converted subtitle files.
My converted VTT downloads but doesn’t show captions in the player.
WEBVTT and cue lines look like 00:00:01.000 --> 00:00:03.000.
My ITT file uses HH:MM:SS:FF. What FPS should I use?
23.976, 24, 25, 29.97, 30.
A wrong FPS can cause cues to drift over time.
The tool says conversion failed. What causes that?
Will styling/positioning be preserved?
Do you store my subtitle files?
My VTT is slightly early/late after converting. How do I fix it?
+2.5 or -1 seconds).
If it drifts more and more, it’s likely an FPS/timebase mismatch.
Tip: If you’re delivering captions to multiple platforms, keep your original subtitle files and treat converted VTTs as platform-specific outputs.
Quick glossary
A few subtitle terms that help when debugging sync.
- Cue – one subtitle block with a start time, end time, and text.
- Timebase / FPS – how time is measured (frames vs milliseconds). Wrong FPS can cause drift.
- Offset – a constant shift (captions are always early/late by the same amount).
- Drift – captions start in sync but become more out-of-sync over time.
Read the full workflow guide
Deeper context, common mistakes, and step-by-step best practices.
The companion guide covers source file cleanup before converting, how to validate the VTT output, what causes garbled characters after conversion, and how to pair format conversion with timing correction as a two-step workflow.
Read the full guide →