VASTlint

VAST tag tester: test a VAST tag URL online free

Paste a live VAST URL or raw XML into the editor below to fetch the tag, preview the creative, inspect tracking and click URLs, and catch delivery issues before launch. Or load a sample from VAST 2.0 through 4.4, including pause ads.

Need SIMID handshake, a protocol log, and host transport? Open the IAB-style VAST tester.

Full IAB-style workbench: SIMID studio, IAB samples, and VAST 4.4 placements.

Open IAB-style VAST tester

Drop a .xml file or URL · paste XML or a URL · auto-validates · ⌘↵ to validate now

Validation still runs in your browser. Opening this page may record country and network owner (no IP). Tags you paste or fetch may be stored (device IDs and IPs stripped from the XML). Tracking URLs linted by Pixellint may be stored there too. Same-tab samples may be grouped. Built-in samples are not sent. Privacy · Terms ·

Start with the editor, then review the results below it

  1. 1
    Paste a live VAST URL or raw XML. The tester auto-detects URLs, fetches XML when needed, and also supports drag-and-drop .xml files.
  2. 2
    Let the test run automatically. Validation starts after paste or while you type, so the editor stays the main workspace.
  3. 3
    Use the panels below the editor to QA the tag. Review rule violations, creative preview, companion assets, tracking vendors, and click URLs before launch.

Full

rule coverage

7

VAST versions

<1ms

validation

WASM

in-browser

What you get after a test

Creative preview

Preview the video ad, companion banners, and media assets in one place.

Tracking vendors

See which vendors fire tracking pixels, named by Pixellint, and any pixel-contract findings.

Click URLs

Review click-through and click-tracking URLs without digging through raw XML.

Spec validation

Every issue is mapped to a rule, severity, and spec guidance. SIMID XML is included; fetch and handshake of the creative HTML are tester work, not the bid path.

Take the same checks into your own stack

Once a live tag passes fetch, preview, and click-tracking QA here, the next step is to keep the same checks beside the code that fetches, unwraps, or serves that response. That keeps browser QA and runtime behavior aligned.

Add VASTlint to your own component

If you already have a formatter, preview pane, or trafficker QA screen, keep that UI. Run VASTlint inside it so the hosted workbench and your first-party workflow stay in sync.

$

Start with the hosted flow on this page, then move the same validation into your own React or Next.js component when you need a productized workbench.

vastlint-cli

Use the CLI in CI, fixtures, and pre-flight scripts when validation belongs in a pipeline instead of a browser tab.

$

vastlint-core

Use the Rust crate when validation belongs inline inside an SSP, DSP, SSAI worker, or ad server request path.

$

vastlint-go

Use the Go module when you want the same core rules in Go services without pushing validation into a subprocess.

$

vastlint-grpc

Use the gRPC sidecar when validation belongs next to a Java ad server, SSAI stitcher, or agent pipeline that already speaks gRPC.

$

vastlint

Use the Python package for in-process validation in ad-ops tooling, FastAPI or Flask services, and data pipelines.

$

vastlint-erlang

Use the BEAM module when validation belongs in Erlang or Elixir delivery paths.

$

Pick the right tool

When the player printed an error code

Spec checks live on the validator. Wrapper hops live on the inspector. These pages map the codes players print to the XML that actually broke.

Frequently asked questions

What is a VAST tag tester?

A VAST tag tester lets you test a live VAST URL or pasted XML end to end. It fetches the tag, previews the creative, shows tracking and click URLs, and helps catch delivery issues before launch.

How do I test a live VAST URL?

Paste the live VAST URL into the tester. The tool fetches the XML, validates it, previews the creative when possible, and shows tracking vendors, click URLs, and delivery signals in one workflow.

Can I preview a VAST creative before launch?

Yes. The tester is designed for pre-launch QA. It helps you preview the ad creative, inspect companion assets, review click-through behavior, and spot inconsistencies before traffic is sent to the tag.

What is the difference between a VAST tester and a VAST validator?

A VAST tester is for end-to-end QA on a live tag or XML. It adds URL fetching, creative preview, tracking inspection, and click URL review. A VAST validator is narrower and focuses on XML correctness and spec compliance.

Can I inspect click tracking and vendor pixels in a VAST tag?

Yes. The tester surfaces click URLs, click tracking, and vendor-related tracking signals so you can review where user actions and measurement calls are going without manually parsing the XML.

What is the best tool for testing a VAST tag before launch?

Use a VAST tag tester when you need more than pure validation. It is the right tool for final QA on a live tag because it combines URL fetching, preview, tracking inspection, click URL checks, and rule-based validation in one place.

Can I test raw VAST XML online?

Yes. You can paste raw VAST XML directly into the tester or upload a .xml file. The tool validates the XML, inspects the tracking and click URLs it contains, and helps you review the ad before launch.

Can I test VAST click-through URLs before launch?

Yes. A VAST tester is useful when you want to check the click-through destination and review click-tracking URLs before traffic starts hitting the ad tag in production.

How do I preview a VAST ad without sending live traffic?

Use the tester in a pre-launch QA workflow. Paste the live tag URL or XML, let the tool fetch the response, and review the creative preview, companion assets, and tracking behavior before the campaign is live.

Can I use a VAST tester for DV360, GAM, FreeWheel, or SSP tags?

Yes. If the platform gives you a live VAST tag URL or XML response, the tester can help you QA it. That makes it useful for tags coming from ad servers, SSPs, DSPs, or wrapper partners.

I pasted a Campaign Manager ins tag and it will not validate. Why?

That snippet is a display page tag (dcmads, iframe, or img), not a VAST document. In-stream video uses a separate pre-fetch VAST tag (pfadx) exported from an in-stream placement. See vastlint.org/docs/html-display-tag/.

What should I check in a VAST tag before launch?

Before launch, check whether the live tag resolves, whether the creative previews correctly, whether click URLs and tracking vendors look correct, and whether the XML passes rule-based validation without serious errors.

The player printed VAST error 303, 403, or 901. What next?

303 means wrappers resolved but the last hop returned no inline ad: use the inspector as a wrapper chain tester, then read the 303 error page. 403 means no MediaFile matched the player. 901 is a VPAID interactive failure; migrate to SIMID. Use the tester on the resolved tag after you know which hop failed.

Does the tester store the VAST tags I paste?

Validation still runs in your browser. Tags you paste or fetch may be stored with device IDs and IPs stripped, so vastlint can improve its rules and for research described in the terms. Submitted XML is not published as a public dataset. Built-in samples are not sent. Same-tab samples may be grouped. Use Don't send my tags on the tester, or see the privacy and terms pages.

Why does a VAST tag pass validation but still fail in the player?

A tag can pass XML and spec checks and still fail in playback because of wrapper behavior, tracking issues, missing assets, bad click URLs, or player-specific delivery. SIMID is the same split: vastlint checks the envelope, not the HTML. A JavaScript file, X-Frame-Options, or a missing createSession only shows up when you load the creative. That is why a tester is useful in addition to a validator.

XML-only checks: VAST Tag Validator · Wrapper hops: VAST Inspector · SIMID studio: IAB-style VAST tester

VAST tag testing guide · vs Test a Tag