Skip to content
FizzKit

VMAP Parser

VMAP (Video Multiple Ad Playlist) is IAB's format for describing where ads run inside a video. Paste a document or fetch a VMAP URL (macros expanded) to see every AdBreak with its timeOffset, breakType, AdSource attributes (id, allowMultipleAds, followRedirects), AdTagURI or inline VASTAdData, and break-level tracking, plotted on a timeline over your content duration with repeatAfter expanded into repeated markers. "Resolve ad tags" fetches each AdTagURI through the FizzKit relay, follows VAST wrappers, and reports ad count, total duration, MediaFile count, wrapper depth and validation issues per break. A validation panel checks offset formats, breakType values, duplicate breakIds, coincident breaks, offsets beyond the duration and post-roll ordering, and a ping test fires breakStart / breakEnd / error trackers. Any break can be opened in the VAST Inspector or run in the IMA-based VAST Ad Tester.

Fetches URLs via the FizzKit relay — nothing is stored
Paste VMAP XML or fetch a VMAP URL · ⌘Enter parses and resolves every ad tag
Fetch VMAP URL
VMAP XML
2,841 chars · 53 lines
VMAP 1.0.1 — 3 ad breaks (1 pre, 1 mid, 1 post), +1 repeated.
Timeline
0:00
30:00
start
00:15:00.000
25:00
end
pre-rollmid-roll (time)mid-roll (%)post-rollrepeatAfter expansion
preroll-1prestart
linear
AdSource id=preroll-adallowMultipleAds=falsefollowRedirects=true
AdTagURI (vast3):https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/single_preroll_skippable&sz=640x480&ciu_szs=300x250%2C728x90&gdfp_req=1&output=vast&unviewed_position_start=1&env=vp&impl=s&correlator=
Tracking (3)
  • breakStarthttps://tracker.example.com/preroll-start?cb=[CACHEBUSTING]
  • breakEndhttps://tracker.example.com/preroll-end
  • errorhttps://tracker.example.com/preroll-error?code=[ERRORCODE]
midroll-1mid00:15:00.000↻ every 00:10:00
linear
AdSource id=midroll-adallowMultipleAds=truefollowRedirects=true
AdTagURI (vast4):https://pubads.g.doubleclick.net/gampad/ads?iu=/21775744923/external/vmap_ad_samples&sz=640x480&cust_params=sample_ar%3Dpremidpost&ciu_szs=300x250&gdfp_req=1&ad_rule=1&output=vast&unviewed_position_start=1&env=vp&impl=s&cmsid=496&vid=short_onecue&correlator=
Tracking (2)
  • breakStarthttps://tracker.example.com/mid1-start
  • breakEndhttps://tracker.example.com/mid1-end
postrollpostend
linear
AdSource id=postroll-adallowMultipleAds=falsefollowRedirects=true
VMAP version
1.0.1
Ad breaks
3
Pre / mid / post
1 / 1 / 1
Repeated markers
1
With inline VAST
1
Resolved
0 / 3
Ad time (resolved)
—
Errors / warnings
0 / 0
Timeline length
30:00

How to use VMAP Parser

  1. 1Paste VMAP XML, or enter a VMAP URL and click Fetch.
  2. 2Set the content duration so the timeline places clock and percentage offsets correctly.
  3. 3Click "Resolve ad tags" (or ⌘Enter) to fetch every AdTagURI and parse inline VASTAdData; each break then shows its ad count, duration and media.
  4. 4Review the Validate tab, then fire breakStart / breakEnd trackers from the ping tab if you need to check the pixels.
  5. 5Open any break in the VAST Inspector, or test the VMAP URL in the IMA player.

About VMAP Parser

VMAP (Video Multiple Ad Playlist) is IAB's format for describing where ads run inside a video. Paste a document or fetch a VMAP URL (macros expanded) to see every AdBreak with its timeOffset, breakType, AdSource attributes (id, allowMultipleAds, followRedirects), AdTagURI or inline VASTAdData, and break-level tracking, plotted on a timeline over your content duration with repeatAfter expanded into repeated markers. "Resolve ad tags" fetches each AdTagURI through the FizzKit relay, follows VAST wrappers, and reports ad count, total duration, MediaFile count, wrapper depth and validation issues per break. A validation panel checks offset formats, breakType values, duplicate breakIds, coincident breaks, offsets beyond the duration and post-roll ordering, and a ping test fires breakStart / breakEnd / error trackers. Any break can be opened in the VAST Inspector or run in the IMA-based VAST Ad Tester.

VMAP Parser is part of FizzKit — a collection of focused developer and ad-tech tools. This tool uses the FizzKit relay to fetch public URLs on your behalf (so browser CORS rules do not get in the way); fetched content is returned to your browser and not stored.

Frequently asked questions

An XML manifest that declares ad-break positions (pre-roll, mid-roll, post-roll). Each AdBreak points to a VAST tag via AdTagURI or embeds VAST directly in VASTAdData. Google Ad Manager returns VMAP when a tag uses ad_rule=1 and output=vmap.