Emby Emby Emby Learn
  • Emby Home
  • Video
  • Audio
  • Media Files
    • Subtitles and captions
    • Photos and images
    • Metadata and discovery
    • Libraries and media collections
    • Playback and streaming
    • Media hardware acceleration
    • Displays and AV connections
    • Live TV and recording
  1. Emby Learn
  2. Subtitles and captions
  3. Subtitle formats
  4. Text subtitle formats
  5. WebVTT
Search Results for

    Show / Hide Table of Contents

    WebVTT subtitles

    WebVTT defines UTF-8 timed text cues, presentation settings, and cue markup for web-oriented text tracks.

    WebVTT is the Web Video Text Tracks format. It gives web-oriented text tracks a defined syntax for UTF-8 cues, settings and markup. The W3C reference used here is the 20 May 2026 Candidate Recommendation Draft.

    A small file can look like this:

    WEBVTT
    
    station-announcement
    00:00:12.500 --> 00:00:15.000 line:85% position:50% align:center size:80%
    <v Announcer>The last train leaves at midnight.
    

    The cue occupies 12.5 through 15 seconds. station-announcement is its identifier, not a time or a required numeric counter. The voice annotation names the speaker for the cue's markup; it is not automatically part of the displayed sentence.

    The settings describe a cue box

    Setting in the example Intent
    line:85% A percentage-based line position in the rendering area
    position:50% The cue's percentage position
    align:center Centre alignment of its text
    size:80% A cue-box size relative to the relevant dimension

    These settings participate in WebVTT's positioning model. They are not pixels on the original encoded movie and do not guarantee one identical physical location across every player size, writing direction and supported rendering path.

    WebVTT also has defined text markup for functions such as emphasis, classes, ruby and voice annotations. Its CSS cue styling is restricted to the specified model. Arbitrary HTML, script or a page's general stylesheet is not a replacement for that model.

    Parsing has specific rules

    A WebVTT file begins with WEBVTT, is encoded as UTF-8, and uses a decimal point for the timestamp fraction. The blank line after the header and those separating cue blocks are part of its structure.

    The cue starts must be in nondecreasing order in a conforming file, and each cue's end must be later than its start. End times need not be in the same order. Two subtitle cues can overlap.

    Renaming an SRT file to .vtt does not add the header, change the fraction punctuation, or interpret its presentation extensions. A proper conversion parses the source and writes the target format.

    More than one cue can be active

    Take cue A from 12 to 15 seconds and cue B from 14 to 16. Between 14 and 15, both are active. A player might use them for two speakers or for dialogue and another annotation. Rendering then needs to handle their boxes and avoid inappropriate collisions.

    The original example above has one box. A more complex layout can use multiple cue settings or regions; an app converting the stream into a simpler subtitle representation might not retain those choices.

    WebVTT can also carry other text-track uses, such as chapters or timed metadata. That does not make every WebVTT payload a caption for display.

    The file and its delivery remain separate

    An Emby route can supply text a web player can render separately, including through a suitable subtitle conversion. Another route may use a native renderer. The selected app's behavior determines how much of WebVTT's presentation model it uses.

    The WebVTT format describes the text track. Fetching it as a whole resource, delivering it in streaming segments, or storing its payload in a container adds timing and packaging rules outside the simple file shown here. Those rules must preserve the cue's place on the media timeline.

    See Also

    • SubRip subtitles (SRT)
    • Subtitle cues
    • Subtitle timestamps
    • Text-based subtitles

    References

    • W3C WebVTT: Candidate Recommendation Draft, May 2026
    • WHATWG HTML: Text track timing and active cues
    • Matroska: Subtitle storage and codec mappings
    On this Page
    2026 © EMBY LLC. Please see our terms of use and privacy policy.
    Back to Top