VTT
VTT is the web-native subtitle format — it's what an HTML5 video player loads for on-screen captions through a <track> element. Reach for it when your video plays in a browser; for a desktop editor, SRT is the sibling to use. The file starts with a required WEBVTT header, an optional NOTE block carrying the title and language, then numbered cues with HH:MM:SS.mmm time ranges — a dot before the milliseconds, unlike SRT's comma.
Timestamp format & header
VTT uses a dot before the milliseconds: HH:MM:SS.mmm (SRT uses a comma). The file always opens with WEBVTT; the NOTE block is added when a title or language is known. Cue text uses the same re-segmentation — breaking the transcript into short, subtitle-sized cues — and ~42-character line wrapping as SRT.
WEBVTT
NOTE
title: Vector Databases Explained
language: en
1
00:00:00.000 --> 00:00:07.500
Welcome to this short introduction to
vector databases. A vector database stores embeddings and retrieves them by similarity.
2
00:00:07.500 --> 00:00:12.099
That makes it the backbone of most
retrieval augmented generation systems.Sources
- W3C — the WebVTT format (WEBVTT header, dot-millisecond timestamps)
- INDXR (own code) — NOTE block, re-segmentation, line wrappingVerified against packages/shared/src/utils/formatTranscript.ts (generateVtt, resegmentTranscript)



