vastlint

IAB VAST validator guide

If you are searching for an IAB VAST validator, what you usually need is a validator that checks a VAST tag against the IAB Tech Lab VAST specification. vastlint does exactly that: it validates VAST 2.0 through 4.3, explains the rule that fired, and shows where spec compliance ends and platform-specific quirks begin.

This page describes an independent validator for the IAB standard. It is not an official IAB Tech Lab tool, and it does not imply affiliation with IAB Tech Lab.

Need an IAB VAST validator?

Paste resolved XML into the validator for a full spec-compliance report. If you are starting from a live tag URL, use the tester first so you can inspect wrappers, resolved XML, and the final validation result in one flow.

Quick reference

Standard ownerIAB Tech Lab
Core versions coveredVAST 2.0, 3.0, 4.0, 4.1, 4.2, 4.3
Latest core versionVAST 4.3, released December 2022
Latest CTV guidanceVAST CTV Addendum 2024, released July 2024
VPAID statusDeprecated; SIMID is the replacement for interactivity
AffiliationIndependent validator, not an official IAB Tech Lab tool

What “IAB VAST validator” means

The IAB Tech Lab publishes the VAST standard and version history. An “IAB VAST validator” is shorthand for a tool that compares your tag to those published rules. That is different from a player-specific validator: the IAB spec defines the XML contract, while players and platforms add their own operational constraints on top.

Versions and addenda

The current core VAST line runs from 2.0 through 4.3. On the IAB Tech Lab standards page, VAST 4.3 is the latest core release, and the VAST CTV Addendum 2024 adds newer connected-TV guidance such as higher-resolution creative support, ACIF updates, and related CTV-facing changes. Use the core VAST version in your XML and review the addendum separately when you are building for CTV environments.

A spec-compliant example

This is the kind of VAST document you validate against the IAB spec: a real XML response with a versioned root element, creative metadata, an impression, a linear ad, and usable media files.

<VAST version="4.0">
  <Ad id="example-1">
    <InLine>
      <AdSystem version="1.0">vastlint example</AdSystem>
      <AdTitle>Sample 30s Ad</AdTitle>
      <Impression><![CDATA[https://tracker.example.com/imp]]></Impression>
      <Creatives>
        <Creative>
          <UniversalAdId idRegistry="ad-id.org">8465903</UniversalAdId>
          <Linear>
            <Duration>00:00:30</Duration>
            <TrackingEvents>
              <Tracking event="start"><![CDATA[https://tracker.example.com/start]]></Tracking>
              <Tracking event="firstQuartile"><![CDATA[https://tracker.example.com/firstQuartile]]></Tracking>
              <Tracking event="midpoint"><![CDATA[https://tracker.example.com/midpoint]]></Tracking>
              <Tracking event="thirdQuartile"><![CDATA[https://tracker.example.com/thirdQuartile]]></Tracking>
              <Tracking event="complete"><![CDATA[https://tracker.example.com/complete]]></Tracking>
            </TrackingEvents>
            <MediaFiles>
              <MediaFile type="video/mp4" width="1280" height="720" bitrate="1800" delivery="progressive">
                <![CDATA[https://cdn.example.com/ad.mp4]]>
              </MediaFile>
            </MediaFiles>
          </Linear>
        </Creative>
      </Creatives>
    </InLine>
  </Ad>
</VAST>

What vastlint checks against the IAB spec

vastlint applies 118 rules derived from the published VAST specifications and XSD schemas. It checks required elements, version consistency, duration formats, tracking structure, duplicate impressions, deprecated VPAID usage, SIMID and OMID-related structures, and many of the XML mistakes that cause players to reject or misrender the ad.

If you only need the resolved answer for a live URL, run the testerfirst. If you already have the XML, go straight to the validator.

Where spec validation stops

Passing the IAB spec is necessary, but not sufficient, for real delivery. Google IMA SDK, Roku RAF, The Trade Desk, ad servers, and CTV OEM players all add their own practical limits: wrapper depth, VPAID blocking, required media codecs, HTTPS enforcement, and sometimes tag URL parameters. After you pass the core spec, use the relevant platform guide for the last-mile check.

Start with Google IMA SDK, Roku RAF, or The Trade Desk if you need those platform rules.


References

Validate your tag against all 118 IAB-derived rules →