VAST Tag Inspector
Paste a VAST XML tag and read its InLine/Wrapper structure, media files, and tracking URLs — parsed entirely in your browser.
The VAST Tag Inspector parses your tag entirely in your browser. The VAST XML you paste stays on your device and is never uploaded, and no Impression, Error, Tracking, or VASTAdTagURI is ever requested or followed — so inspecting a live tag will not fire a single pixel.
Open the VAST Validator
About VAST Tag Inspector
The VAST Tag Inspector unpacks a VAST XML tag into a structure you can actually read. Paste a video ad tag and it tells you at a glance whether it is an InLine ad or a Wrapper, shows the AdSystem and AdTitle, and lists every MediaFile in a table with its MIME type, bitrate, dimensions, and delivery. It surfaces all TrackingEvents (start, quartiles, complete, progress) mapped to their URLs, the Impression and Error pixels, VideoClicks, Icons, Extensions, and — for wrappers — the VASTAdTagURI that points to the next tag. Built for ad-ops engineers and QA who debug creatives and trackers all day: the tag is parsed on your device, so no pixel is ever fired and nothing is uploaded while you inspect it.
Features
- Detects InLine vs Wrapper ads and flags ad pods with multiple <Ad> elements
- MediaFiles table with MIME type, bitrate, width × height, codec, and delivery
- Maps every TrackingEvent (start, quartiles, complete, progress) to its URL
- Lists Impression and Error pixels, VideoClicks, ClickThrough and ClickTracking
- Shows the VASTAdTagURI for Wrapper tags without ever requesting it
- Surfaces Icons (AdChoices), Companion and NonLinear resources, and Extensions
- Decodes XML entities so copied URLs are the real, unescaped tracker endpoints
- Parses the tag in your browser — no impression or tracker is ever fired
How to use the VAST Tag Inspector
- Copy a VAST tag from your ad server, SSP, or player debug log
- Paste the VAST XML into the input box
- Read the parsed InLine/Wrapper structure, media files, and tracking URLs
- Copy any impression, tracking, or media URL with one click
Example
Input
<VAST version="4.0"><Ad><InLine>
<AdSystem>iabtechlab</AdSystem>
<AdTitle>Example</AdTitle>
<Impression><![CDATA[https://ex.com/imp]]></Impression>
<Creatives><Creative><Linear>
<MediaFiles><MediaFile type="video/mp4" bitrate="2000" width="1280" height="720" delivery="progressive"><![CDATA[https://ex.com/v.mp4]]></MediaFile></MediaFiles>
</Linear></Creative></Creatives>
</InLine></Ad></VAST>
Output
InLine · AdSystem: iabtechlab · AdTitle: Example
Impression: https://ex.com/imp
MediaFile: video/mp4 · 1280×720 · 2000k · progressive
A one-ad InLine tag flattened to its type, impression pixel, and media file.
Common errors & troubleshooting
- Invalid XML at line N — the paste won't parse. — Make sure you copied the whole tag including the <VAST> root and its closing tag; a truncated log line or a stray unescaped & will fail XML validation.
- The MediaFiles table is empty for a creative. — The creative may be a Wrapper (media lives downstream) or a VPAID / NonLinear / Companion unit. Check the VASTAdTagURI for wrappers, or the Companion / NonLinear section for their resources.
- A tracking URL looks wrong, with & in it. — That is XML escaping. The inspector decodes entities, so the URL you copy is the real endpoint with a plain & — paste it as-is.
- Nothing shows and there are no ads. — The tag may be an empty / no-fill VAST response. The inspector marks it Empty and shows any VAST-level Error pixel used to report the no-ad.
Frequently asked questions
- What does a VAST tag inspector show?
- It parses a VAST XML tag and lays out its structure: whether each Ad is InLine or a Wrapper, the AdSystem and AdTitle, the MediaFiles with type, bitrate and dimensions, every TrackingEvent and its URL, Impression and Error pixels, VideoClicks, Icons, Extensions, and the VASTAdTagURI on wrappers.
- What is the difference between an InLine and a Wrapper VAST ad?
- An InLine ad carries the full creative — media files, tracking, and clicks — directly. A Wrapper contains no media of its own; it holds a VASTAdTagURI that points to another VAST tag downstream, plus extra impression and tracking pixels to fire. The inspector labels each Ad accordingly.
- Which VAST versions can it inspect?
- It reads the common tag shapes across VAST 2.0, 3.0 and 4.x — InLine and Wrapper ads, Linear creatives with MediaFiles and TrackingEvents, NonLinearAds, CompanionAds, Icons and Extensions. It also shows the version attribute from the <VAST> root when present.
- Does the inspector follow the VASTAdTagURI or fire any pixels?
- No. It only reads the XML you paste. It never fetches the wrapped VASTAdTagURI, and it never requests an Impression, Error or Tracking URL — those are shown as text for you to copy, so inspecting a live tag will not skew reporting.
- Why is the MediaFiles table empty for my creative?
- The creative may be a VPAID or interactive unit whose playable asset is an InteractiveCreativeFile rather than a MediaFile, or it may be a NonLinear or Companion creative. Wrappers also have no MediaFiles of their own — the media lives in the downstream tag the VASTAdTagURI points to.
- Can I see all Impression and Tracking URLs at once?
- Yes. Each Ad lists its Impression and Error pixels, and each creative lists its TrackingEvents grouped by event name alongside VideoClicks and Icon URLs. Every URL has a one-click copy button so you can paste it into a diff or a browser to verify it.
Related tools
All ArrayKit tools