VASTlint
VAST-2.0-duration-format

Duration must be HH:MM:SS

<Duration> value does not match HH:MM:SS[.mmm] format

ErrorValuesIAB VAST 2.0 §2.4.1VAST 2.0 and later (all versions)

Short answer

VAST Duration is HH:MM:SS or HH:MM:SS.mmm. A bare 30, thirty seconds, or ISO PT30S will fail parsing.

VAST requires duration values to follow the `HH:MM:SS` or `HH:MM:SS.mmm` format. Plain English values like `"30 seconds"` or bare numbers like `"30"` are not valid and will cause players to fail to parse the duration.

Why this matters in production

This rule is usually a delivery blocker. Many players, SDKs, and ad servers will discard the response or skip the affected creative once this condition is hit. Value-format rules tend to fail at the moment a player interprets a field such as duration, skipoffset, bitrate, or versioning. They are especially painful because the XML can look valid at a glance. Affected scope: VAST 2.0 and later (all versions).

How to fix

Rewrite the duration in HH:MM:SS format, e.g. 00:00:30 for 30 seconds or 00:01:30 for 90 seconds. Optionally append milliseconds: 00:00:30.500.

Invalid

<Duration>thirty seconds</Duration>

Valid

<Duration>00:00:30</Duration>
Check your VAST tag for VAST-2.0-duration-format and other issues instantly.Open the VAST tag validator →