VTT to TTML Subtitle Converter
Turn timestamped WebVTT cues into a basic TTML XML document.
Drag & drop your VTT file here
or click to browse
Supports .vtt files up to 50 MB
About VTT to TTML
This browser-based converter reads timestamped WebVTT cue blocks and writes a basic UTF-8 TTML document. Cue start and end times become second-based begin and end attributes, physical line breaks become <br/> elements, and XML special characters are escaped. VTT cue identifiers, settings, regions, comments, and styling are not mapped to TTML presentation metadata.
VTT to TTML Code Syntax & Structure Inspection
Side-by-side code inspection illustrating header definitions, timestamp syntax, and cue payload formatting
VTT vs TTML Technical Specifications
VTT
VTT (WebVTT) is a text subtitle format for web video. A VTT file starts with a WEBVTT header and uses HH:MM:SS.mmm --> HH:MM:SS.mmm cue timing. It can also contain cue identifiers, cue settings, inline tags, NOTE blocks, regions, and style metadata.
TTML
TTML (Timed Text Markup Language) is a W3C XML subtitle format. This converter generates a basic UTF-8 document with a default TTML namespace, xml:lang="en", body and div elements, and one <p> element per cue with second-based begin and end attributes.
Format Differences
Conversion Troubleshooting & Gotchas
Practical solutions for player compatibility, character encoding, and timing synchronization
Subtitle timing drifts or appears out of sync on media players
Video files frequently differ in framerate (e.g., 23.976 fps vs 25 fps). If the timing drifts steadily, use our Subtitle Sync tool to adjust the global offset or framerate stretch.
Characters appear as garbled symbols or question marks (Mojibake)
Legacy files saved in Windows-1252, Shift-JIS, or GBK may render incorrectly. Our exporter standardizes output to clean UTF-8. Use our Subtitle Encoding Converter if the source file is corrupted.
Overlapping captions when multiple speakers talk simultaneously
Different formats handle overlapping dialogue differently. If your target player cannot render stacked cues cleanly, open the file in our Subtitle Editor to adjust individual cue timings.
Video editing software (Premiere, DaVinci, Final Cut) rejects the file
Professional NLE software enforces strict syntax rules. Our converter eliminates malformed line breaks and non-standard tags, producing clean, standardized files.
Features
Why Convert?
Common Use Cases
Basic TTML Draft
Create a basic TTML document from web subtitles before checking it against a target profile or workflow.
XML Interchange
Move timestamped VTT cues into a tool that accepts TTML XML input.
Text Editing
Use XML-aware tools to inspect or edit cue timing and text.
Local Conversion
Convert subtitles without uploading them to a separate conversion service.
Web and TTML Copies
Keep a VTT version for web playback while producing a basic TTML copy for another workflow.
Related Formats
How It Works
- 1
Select or drop a .vtt file; its contents stay on your device.
- 2
The parser finds timestamped cue blocks and reads their text.
- 3
Cue identifiers, settings, regions, comments, and CSS blocks are discarded.
- 4
Start and end milliseconds become values such as begin="1.500s".
- 5
Line breaks become <br/> elements and XML special characters are escaped.
- 6
Each cue is written as a <p> element inside the TTML body.
More Subtitle Tools
Frequently Asked Questions
No. VTT cue settings, regions, CSS, and inline styling tags are not mapped to TTML styling or layout attributes. Tags inside cue text are escaped and remain literal text.
Voice tags are not converted to TTML spans. Their angle brackets are escaped, so the source markup appears as literal text in the generated <p> element.
No. The generated TTML contains the XML declaration, default namespace, xml:lang="en", body, div, and timed <p> elements. It does not include head, styling, region, IMSC, ITV, or EBU-TT-D metadata.
Each cue start and end is written as a three-decimal second value, such as begin="1.500s" and end="4.000s".
No. NOTE blocks do not contain displayable cue text for this converter and are ignored.
Not by itself. Platform profiles often require additional namespaces, metadata, styling constraints, and validation. Use this basic TTML as a starting point only and check the recipient specification.
Related Articles
Convert YouTube JSON3 Subtitles to SRT, VTT, or LRC | AllSubConverter
Download YouTube captions as JSON3 and convert them to SRT, VTT, or LRC. Step-by-step guide covering yt-dlp, the JSON3 format, and free online conversion.
Add Pinyin & Furigana to Subtitles | AllSubConverter
Learn how to add pinyin to Chinese subtitles and furigana to Japanese subtitles. AI-powered reading aids for language learners, karaoke, and study materials.