VAST Validator

Paste a VAST response to see what is actually inside it: the structure, every media file with its bitrate and dimensions, and each problem mapped to the error code a player would report. Everything runs in your browser, so tags with client identifiers in them never leave your machine.

Input mode

Runs in your browser · nothing sent, stored, or logged

Specification

Validated against IAB Tech Lab VAST 4.3, with VAST 2.0 through 4.3 accepted

Checks the document structure, required elements on InLine and Wrapper ads, Duration format, and media file attributes. Each finding links to the VAST error code a player would report for that condition.

Reading a tag, not playing it

Google's Video Suite Inspector renders a tag in an IMA player and tells you what happens at runtime, and it remains the right tool for confirming a creative plays. This answers the other question — the one you have at four in the afternoon with a broken tag in a support ticket and no player in front of you. What is in this XML, which renditions does it offer, what is missing, and which error code will the player throw? Those are answerable from the document alone, and answering them takes seconds rather than a test campaign.

The failures that hide in a valid-looking tag

Most tags that fail are structurally fine. The problems are one level down: a single rendition at a bitrate no mobile connection will pull, so it times out with error 402. No MP4, so environments that cannot use WebM report 403. A media file on plain http that is blocked on every https page. No Error element at all, which means every subsequent failure is invisible — the tag simply stops working and nothing anywhere records why. That last one is the most expensive, and it is the easiest to fix.

Frequently asked questions

How is this different from Google's Video Suite Inspector?
The Video Suite Inspector plays a tag in a real IMA player and reports what the SDK does at runtime — it is the right tool for confirming a creative actually renders, and it is still actively maintained. This reads the XML instead: what is inside the tag, which renditions are offered, which required elements are missing, and which error code each problem maps to. Use the inspector to see it play; use this when you have the XML and need to know why it will not.
Why does my tag return an empty VAST response?
A VAST document with no Ad element is valid — it is how a server signals no fill. If you expected a creative, the problem is upstream of the tag: targeting, floor price, or a frequency cap at the final hop. From a player's perspective this surfaces as error 303 after a wrapper chain.
Does this follow wrapper redirects?
Not yet. It identifies a wrapper and shows the VASTAdTagURI it points at, so you can resolve the chain hop by hop. Automatic following is coming; in the meantime, fetching each hop by hand is also the quickest way to spot which one is slow or broken.
Is VPAID still worth using?
Generally no. Support has been withdrawn across most of the ecosystem in favour of SIMID for interactivity and Open Measurement for verification, and it is largely absent from CTV. A VPAID tag will produce error 901 or 403 in those environments. This tool flags VPAID media files for that reason.
Nothing is wrong with my XML but the ad still fails. Now what?
A structurally valid tag can still fail at playback — a media file that 404s, a codec the device cannot decode, or a timeout on a large rendition. Those are runtime failures in the 40x range rather than document problems, so the next step is checking that the media file URLs actually resolve and play.

Related