Caption Spec Guide Subtitles & Scripts

WebVTT vs. SubRip (SRT): Timecode Formatting, Encoding, and Cue Parsing Rules

Technical comparison of .srt and .vtt file structures, UTF-8 byte order marks, reading-speed limits (CPS), and line-length standards.

Delivering accessible captions that pass broadcast QC and web player parsers requires adhering to both syntactic file specifications and human reading-speed limits measured in Characters Per Second (CPS).

Structural Differences Between SRT and WebVTT

A compliant SubRip (.srt) cue consists of three lines: a sequential integer starting at 1, a timestamp range formatted as HH:MM:SS,mmm --> HH:MM:SS,mmm using a comma before milliseconds, and one or more lines of caption text followed by a blank line. WebVTT (.vtt) begins with the mandatory string WEBVTT on line 1, makes cue sequence numbers optional, requires a period before milliseconds (HH:MM:SS.mmm), and supports inline cue settings such as line:80% position:50% align:middle appended after the end timestamp.

Broadcast Reading Speed & Line Length Thresholds

Caption Timing & Layout Quality Control Standards
Metric Adult Program Standard Children / Fast Action Technical Reason
Reading Speed (CPS)15 to 20 chars/sec max12 to 15 chars/sec maxExceeding 21 CPS forces viewers to read captions without watching the picture.
Max Characters per Line37 to 42 characters32 to 37 charactersPrevents unintended word wrapping and keeps eye movement compact.
Max Lines per Cue2 lines2 linesThree or more lines obscure the lower third of the video action.
Minimum Cue Duration833 ms (20 frames @ 24fps)1,000 ms (24 frames)Shorter flashes disappear before the eye can register the text.