Convert VTT to TTML
Drop a .vtt file and download it as .ttml. Free, instant, and nothing is uploaded.
WebVTT .vtt
WebVTT (.vtt) is the subtitle format of the web. It is what the HTML5 track element, YouTube, Vimeo and every browser player expect, with optional positioning and styling.
TTML / DFXP .ttml
TTML (.ttml, .dfxp, .xml) is the W3C timed text standard used in broadcast and streaming, including Netflix deliveries, IMSC and EBU-TT. Verbose, but rich in styling and layout.
What changes when converting VTT to TTML
- Timestamps are converted exactly, to the millisecond.
- Italic, bold and underline are kept. WebVTT positioning and voice tags are dropped.
- Line breaks inside a cue are kept.
- The output is a minimal TTML document with one paragraph per cue, which DFXP players accept as well.
Supported formats
Every format converts to every other. Formatting is kept where the target supports it.
| Format | Extension | Support | Formatting | Notes |
|---|---|---|---|---|
| SubRip | .srt | Read and write | Italic, bold, underline | The safe default when you are not sure what a player needs. |
| WebVTT | .vtt | Read and write | Italic, bold, underline | Cue position and alignment settings survive VTT to VTT. |
| Advanced SubStation Alpha | .ass | Read and write | Full ASS styling | Reads .ssa too. Writes a single default style at 1080p. |
| YouTube SBV | .sbv | Read and write | None | SubViewer .sub files are read as SBV. |
| MicroDVD | .sub | Read and write | None | Needs the frame rate. A wrong value makes subtitles drift. |
| TTML / DFXP | .ttml | Read and write | Italic, bold, underline | Also reads .dfxp and .xml. Layout and regions are dropped. |
| LRC lyrics | .lrc | Read and write | None | No end times. Each cue ends where the next begins. |
| JSON | .json | Read and write | None | Reads {start, end, text} arrays and Whisper segments. |
| Plain text | .txt | Write only | None | Output only. Timing is discarded. |
Private by design
Parsing and conversion run in your browser with JavaScript. Files are read locally and never uploaded, so there is nothing to delete afterwards.
Exact timing
Timestamps convert to the millisecond. MicroDVD uses the frame rate you set, and ASS rounds to the centiseconds it supports.
Fix sync as you go
Shift every cue earlier or later in milliseconds, and strip formatting tags when a player shows them as raw text.
Questions
Is CaptionConvert free?
Yes. There are no limits, accounts or watermarks. Convert as many files as you like, as often as you like.
Are my subtitle files uploaded anywhere?
No. The conversion runs in your browser with JavaScript. Files are read on your device and nothing is sent to a server, so there is nothing to delete afterwards.
What is the difference between VTT and TTML?
WebVTT (.vtt) is the subtitle format of the web. It is what the HTML5 track element, YouTube, Vimeo and every browser player expect, with optional positioning and styling. TTML (.ttml, .dfxp, .xml) is the W3C timed text standard used in broadcast and streaming, including Netflix deliveries, IMSC and EBU-TT. Verbose, but rich in styling and layout.
Is formatting kept when converting VTT to TTML?
Italic, bold and underline are kept. WebVTT positioning and voice tags are dropped.
How do I fix subtitles that are out of sync?
Use the Shift field. Enter a positive number of milliseconds to delay every cue, or a negative number to bring them earlier, then download. 1000 ms is one second.