WebVTT is a UTF-8 text file format that pairs blocks of text with start and end timestamps. The simplest cue looks like 00:00:01.000 --> 00:00:04.000\nHello world. Cues can carry styling, position, region, and identifier metadata. Browsers consume WebVTT via the HTML element on . HLS uses WebVTT for closed captions and subtitle renditions; DASH carries WebVTT in CMAF wrappers or as standalone files.
Beyond captions, WebVTT is the standard format for scrub-bar thumbnail metadata. A cue like 00:01:00.000 --> 00:01:10.000\nsprites.jpg#xywh=160,0,160,90 tells the player "for this 10-second window, the thumbnail is the rectangle (160,0,160,90) of sprites.jpg". This pattern is universal across HLS, DASH and proprietary players in 2026. WebVTT chapters (a WEBVTT - chapters extension) carry chapter navigation.
WebVTT competes with TTML / IMSC1 for subtitle delivery. IMSC1 is more featureful (precise positioning, complex styling, professional broadcaster pedigree); WebVTT is simpler and browser-native. The 2026 split is roughly: WebVTT for web-first delivery, IMSC1 for content originating from broadcaster mastering chains. Most OTT services support both, picking based on what the upstream provided.
The book · Volume 3 of 7
Video Streaming: A Complete Guide to Video Delivery: From ABR and CDNs to Players, WebRTC, DRM, and the Economics of Streaming
WebVTT is the standard caption format for HLS and the web, and segmenting it in sync with video is where captions drift or vanish. This volume covers WebVTT in detail as part of subtitles in players, with caption rendering, styling, segmented subtitle delivery in HLS and DASH and accessibility needs. Written by Nikolay Sapunov, CEO at Fora Soft.
Captions drifting or missing in your HLS or DASH streams?
Share a sample stream with captions and we will return a WebVTT audit covering segmentation, timing and player rendering with fixes per platform. 250+ video products shipped since 2005.