WebVTT format (.vtt)
WebVTT (Web Video Text Tracks) is the W3C subtitle and caption format
used by HTML5 <track> elements. A .vtt file opens with a WEBVTT
header and then lists cues: an optional cue identifier, a timecode line
(HH:MM:SS.mmm --> HH:MM:SS.mmm plus optional positioning settings),
and one or more lines of cue text.
The reader emits the WEBVTT header as a non-translatable data part,
each cue identifier as its own data part, and one translatable block per
cue. The timecode (including any cue settings) is preserved on the
block's timecode property and written back verbatim, so the timing
survives the round-trip. Cues are kept separate — captions are not
merged by sentence — so each cue is translated independently.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
cjkCharsPerLine | integer | 0 | Maximum number of characters per line for CJK languages. Set to 0 to disable. |
maxCharsPerLine | integer | 0 | Maximum number of characters per line in output. Set to 0 to disable. |
maxLinesPerCaption | integer | 0 | Maximum number of lines per caption in output. Set to 0 to disable. |
splitWords | boolean | false | Split words so that they don't go over the character limit per line. |
Configure these parameters interactively and copy the YAML on the Format Reference.
Examples
Default extraction
Read each cue as a translatable block with no output line limits.
{}Processing notes
The WEBVTT header is emitted as a data part; cue identifiers become their own data parts.
The cue timecode and its settings are preserved on the block
timecodeproperty and written back unchanged.
Limitations
The output line-wrapping parameters (maxCharsPerLine, maxLinesPerCaption, cjkCharsPerLine, splitWords) are accepted for parity with Okapi but are not yet enforced by the native writer; cue text is written as supplied.
Cues are never merged by sentence; each cue is a separate block.
← Back to the Format Reference