VASTlint
Back to blog

VAST vs MRAID lines up a video ad response and an in-app bridge

vastlint validates VAST. It does not render MRAID.

NameWho loads itTypical unitInteractive add-on
VASTA player or a stitcherIn-stream video or audioSIMID, beside a media file
MRAIDAn app SDK webviewExpandable, interstitial, playableThe creative itself
VPAIDA browser-like video playerLegacy executableIt was the add-on and the media
VAST is an ad response a video player parses. MRAID is the bridge between a rich-media creative and a mobile app SDK.
vastlint validates VAST. It does not render MRAID. Diagram by vastlint.org. An independent open-source project. The diagram restates figures already cited in this post.

Alex Sekowski · September 29, 2026 · 7 min read

VAST vs MRAID is a delivery question, not a version question. VAST is the response a video or audio player fetches: a URL or a blob of XML describing media files and tracking. A stitcher can parse it without showing a webview. MRAID is the Mobile Rich Media Ad Interface Definitions, the bridge a creative uses inside an in-app webview. IAB's MRAID 3.0 note covers expand, resize, interstitials, creative-side viewability and audibility, and selected VPAID events so in-app video can report more consistently. The creative is loaded by the SDK. It is not a VAST root element.

You do not convert one into the other by changing an extension. A playable that calls MRAID will not become a preroll because someone wrapped the HTML in a VAST media file and set an apiFramework. A VAST MP4 will not become an expandable banner because the line item sits in an app. vastlint validates the VAST document against published rules for 2.0 through 4.4. It does not load the creative in a webview, and it does not certify MRAID 3.0.

Where the campaigns actually overlap

A single buy can include an in-stream video and an in-app playable. Those are two creatives and two specs. The video creative's interaction, if any, is SIMID inside VAST. The playable's container API is MRAID. Measurement on the video side is OMID in AdVerifications. Measurement on the playable is whatever the SDK and the MRAID creative expose, which is not automatically the same log.

The overlap that causes bad tags is vocabulary. MRAID 3.0 borrowed VPAID event names. People then set VAST apiFramework to MRAID or to VPAID and expect the app to sort it out. The app's MRAID container and the app's VAST player, when both exist, are still different entry points. vastlint only sees the VAST entry point.

What to send each team

Send the video trafficker a VAST tag with a media file, SIMID only if the video has a click layer, and OMID if video measurement was sold. Send the in-app creative team an MRAID asset matched to the SDK's version. Do not send either team the other team's file as a backup.

If the only artifact in the ticket is a VAST URL, MRAID is out of scope until a second asset appears. Validate the URL. Do not describe that validation as an MRAID result. vastlint's scope is the sentence that keeps the excerpt honest.

Decide which file you are holding

  • XML with a VAST root: validate it as VAST.
  • HTML that calls MRAID: that is the in-app creative, outside this validator.
  • A VAST media file whose apiFramework says MRAID: still check for a decodable file, and do not call it an MRAID certification.
  • Both assets in one campaign: two checks, two hosts.
  • VPAID in the VAST file: deprecated video executable, not the MRAID bridge.

A video ad response and an in-app webview bridge can share a campaign and still cannot share a file.

standards triage note

Validate the VAST response

Run VAST 2.0–4.4 tags against specification-derived rules. Nothing is stored. vastlint does not execute VPAID, open a SIMID session, run OMID, or certify an MRAID SDK.

Paste the tag

XML opens the validator, and a live tag URL opens the tester.

Or test a live URL

Sources

IAB Tech Lab VASTIAB Tech Lab

VAST standards hub. VPAID is marked deprecated and replaced with SIMID.

MRAID is the in-app rich media interface. Version 3.0 adds creative-side viewability and audibility, and selected VPAID events for in-app video reporting.

IAB Tech Lab SIMIDIAB Tech Lab

SIMID page, updated January 3, 2024. SIMID 1.2 separates the interactive layer from the media asset. Both are delivered by VAST 4.x. OMID is named for measurement and SIMID for interactivity, as the replacement for VPAID.

The executable people confuse with the in-app bridge.

When in-stream video should leave MRAID.

The interactive layer that does belong inside VAST.

Read another comparison in this set

All posts

Check the tag these notes describe

The comparison does not execute the creative. The tag still has to carry a media file, and the node for interaction or measurement.