Short answer: when to use SRT vs WebVTT

Use SRT when a simple, broadly supported subtitle file is required. Use WebVTT for HTML video and WebVTT-specific cue settings. Validate the actual delivery requirement because file extension alone does not prove platform acceptance.

SRT and WebVTT validation differences

AreaSRTWebVTT declared subset
File startNo required headerBegins with WEBVTT
Cue identifierNumeric sequence expected by this parserOptional cue identifier
Timestamp millisecondsComma: 00:00:01,000Dot: 00:00:01.000
Hours formHH:MM:SS,mmm expectedHH:MM:SS.mmm supported by this parser
Cue settingsNot part of baseline SRT syntaxCommon line, position, size, align, and vertical settings supported
Comments or notesNo declared comment block supportNOTE blocks supported
Styling and regionsNot supported by this SRT parserSTYLE and REGION receive diagnostics in the declared subset
Common parser failureMissing sequence, malformed block, comma/timing errorMissing header, malformed cue timing, unsupported setting
Shared post-parse checksOverlap, gap, duration, CPS, WPM, line count, characters per line, empty text, adjacent duplicatesThe same deterministic profile checks

This table describes Subtitle Preflight's declared parsers. It is not a universal platform-support table and does not prove client acceptance.

Minimal valid SRT and WebVTT examples

SRT

1
00:00:01,000 --> 00:00:03,000
Synthetic SRT cue.

WebVTT

WEBVTT

00:00:01.000 --> 00:00:03.000
Synthetic WebVTT cue.

The visible differences are the required WEBVTT header, optional WebVTT cue identifier, and timestamp punctuation. SRT uses comma milliseconds; WebVTT uses dot milliseconds.

Common format-specific validation failures

If the file contains…SRT resultWebVTT result
Dot millisecondsInvalid timestamp syntaxExpected punctuation
Comma millisecondsExpected punctuationInvalid cue timing
No WEBVTT headerNot applicableInvalid header diagnostic
A missing numeric sequenceSequence findingIdentifier remains optional
STYLE or REGIONOutside declared SRT syntaxDiagnostic under the declared subset
End time at or before start timeTiming-order findingTiming-order finding after parsing

WebVTT specification source

WebVTT syntax statements on this site are informed by the W3C Candidate Recommendation Draft, WebVTT: The Web Video Text Tracks Format, published 20 May 2026. Subtitle Preflight implements a declared subset and is not W3C-approved.

Read the W3C WebVTT Candidate Recommendation Draft dated 20 May 2026

Validate the format you need to deliver

Choose the format-specific checker for syntax guidance, or use the multi-format checker when you need the same cue-level profile and report workflow for SRT and WebVTT.

Open the multi-format subtitle checker

Frequently asked questions

Which is better, SRT or WebVTT?

Neither format is universally better. Use the format required by the delivery workflow: SRT for a simple subtitle file when requested, or WebVTT when HTML video or supported WebVTT cue settings are required.

Can a WebVTT file use SRT timestamps?

No. The declared WebVTT parser expects dot milliseconds. Comma-millisecond SRT timing is reported as invalid WebVTT cue timing.

Does Subtitle Preflight convert SRT and WebVTT?

No. Conversion and editing are outside the implemented workflow. The checker reports supported parser and rule findings without changing the supplied text.

Does a valid file extension prove platform acceptance?

No. Confirm the required format and settings with the applicable client, player, platform, or program.

Is the WebVTT checker a complete conformance checker?

No. It implements and documents a declared subset and is not W3C-approved.