Live: iab-tech-lab-vast-tester.vastlint.org
A modern, vastlint-powered VAST validator, debugger, and QA workbench.
If you are looking for a new and improved alternative to the IAB Tech Lab VAST Tester, this repository is meant to be that starting point. It keeps the familiar idea of a browser-based VAST tester, but adds deeper validation, wrapper inspection, playback diagnostics, tracking visibility, and shareable findings for real ad-tech workflows.
This project is built on top of vastlint, the Rust-based VAST validation engine behind vastlint.org. It is an independent open-source project and is not affiliated with or endorsed by IAB Tech Lab.
If that search term brought you here, the short version is this: this repo is an open-source, modernized VAST tester built for teams who want more than a legacy pass/fail checker.
It is designed for buyers, sellers, SSPs, DSPs, SSAI teams, QA engineers, and ad-ops workflows that need to:
- validate VAST XML against the IAB VAST specification
- inspect wrapper chains and resolved ads in detail
- understand tracking, macro expansion, and playback behavior
- share findings quickly with partners, vendors, or internal engineering teams
- Validate pasted VAST XML or a remote VAST URL
- Auto-fix deterministic issues that
vastlintcan repair - Resolve wrapper chains through
vastlint-client - Inspect wrapper hops, resolved ads, media files, and rule findings in one UI
- Display findings inline while editing XML
- Review playback-oriented runtime signals, tracking waterfalls, and macro previews
- Switch between different compliance-oriented validation profiles
- Export reports and copy error summaries for partner debugging
This UI is the interactive frontend layer for the broader vastlint ecosystem.
- Core project: github.com/aleksUIX/vastlint
- Hosted web validator: vastlint.org
- Report an issue: github.com/aleksUIX/vastlint/issues
- Start a discussion: github.com/aleksUIX/vastlint/discussions
- npm packages:
Use this repo when you want a browser-first debugging workflow. Use vastlint directly when you want CLI automation, CI checks, MCP integration, or to embed VAST validation inside another system.
Install dependencies:
npm installStart the dev server:
npm run devCreate a production build:
npm run buildThis repo is intended to stay separate from vastlint-infra and deploy directly to Cloudflare Pages on the custom hostname iab-tech-lab-vast-tester.vastlint.org.
One-time Cloudflare auth on your machine:
npm run cf:loginOne-time Pages project creation:
npm run cf:pages:createDeploy the current branch from your local machine:
npm run deploy:pagesAfter the first successful deploy, attach the custom domain in Cloudflare Pages:
iab-tech-lab-vast-tester.vastlint.org
This workflow avoids GitHub Actions and repo secrets while keeping deployment repeatable from the local CLI.
The goal is not to reproduce the old tester one-to-one. The goal is to provide a stronger open-source workflow for anyone searching for an IAB Tech Lab VAST Tester style tool, but needing more visibility into why a tag fails, how wrappers resolve, what media is actually returned, and where tracking or compliance issues appear.
All feedback goes through the vastlint GitHub project, since this tester is a frontend for that engine:
- Wrong or missing validation result, rule request, tester bug: open an issue
- Questions, ideas, anything open-ended: start a discussion
- The app installs
vastlint,vastlint-client, andvastlint-reactdirectly from npm. - For URL-backed validation, the target endpoint must allow browser-side fetching from your local dev or deployed origin.
- Browser playback results can vary based on codec support and remote asset permissions.