Skip to content
Novus Examples
vtt267 B

Chapters — WebVTT Chapter Track

A WebVTT file intended for `<track kind="chapters">` rather than `kind="subtitles"`. Structurally it is an ordinary WebVTT file, which is the point — nothing inside it says 'chapters', so the same bytes behave as captions if the kind attribute is wrong, and the chapter titles are rendered over the video as subtitles. A common and very visible mistake.

Preview — first 21 linesvtt
WEBVTT

NOTE
Chapter cues for a <track kind="chapters"> element.

chapter-1
00:00:00.000 --> 00:00:02.000
Cold Open

chapter-2
00:00:02.000 --> 00:00:04.000
Titles

chapter-3
00:00:04.000 --> 00:00:06.000
Main Segment

chapter-4
00:00:06.000 --> 00:00:08.000
Credits

Specifications

Format
WebVTT
Track Kind
chapters
Chapters
4
Cue Identifiers
chapter-1 … chapter-4
Chapter Names
Cold Open / Titles / Main Segment / Credits

What is a .vtt file?

WebVTT (VTT) is the W3C subtitle and caption format used by the HTML5 <track> element for timed text on the web. It extends the SubRip model with cue settings, positioning, styling, and metadata, and requires a WEBVTT header. It is the standard format for browser-based captions.

How to use this file

Use an example VTT to test HTML5 <track> caption rendering, cue-setting and positioning parsers, and converters between WebVTT and SRT.

How to use this file for testing

“Chapters — WebVTT Chapter Track” is a deterministic Novus Examples fixture for Media metadata, Video QA, Conversion testing. Video files with embedded chapters, full container tags, attached cover art and a SMPTE start timecode — each paired with a deliberately stripped twin, so you can tell a metadata reader that found nothing from one that was never given anything.

Documented properties for this file: WebVTT. Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.

Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.

Media fixtures are short and synthetic by design. Prefer waveform or transcript ground truth in the same group when measuring ASR, trim, upscale, or sync tools; do not assume broadcast-quality masters.

Code examples

<video controls src="clip.mp4">
  <track kind="captions" srclang="en" label="English" src="chapters-webvtt.vtt" default>
</video>

Generated by generation/video_accessibility.py. Free for any use, no attribution required — license.