ads.txt / app-ads.txt Validator

Validate an ads.txt or app-ads.txt file line by line in your browser. The file you paste stays on your device.

The ads.txt / app-ads.txt Validator runs entirely in your browser. The file you paste is parsed and checked on your device and is never uploaded to ArrayKit or fetched from a remote URL.

Open the sellers.json Validator

About ads.txt Validator

The ads.txt / app-ads.txt Validator lints your Authorized Digital Sellers file the moment you paste it. It walks every line, splits DATA records into their comma-separated fields, and confirms each one has the required 3 or 4 fields: advertising system domain, publisher account id, a DIRECT or RESELLER relationship, and an optional certification authority id such as a TAG-ID. Comments and blank lines are skipped, VARIABLE lines like OWNERDOMAIN, CONTACT, SUBDOMAIN, MANAGERDOMAIN and INVENTORYPARTNERDOMAIN are parsed out, and wrong field counts, bad relationship values, duplicate entries and stray whitespace are flagged with the line number and a suggested fix. A summary tallies DIRECT vs RESELLER records and unique seller domains. Publishers and ad-ops teams audit their file here without posting it to a third-party crawler — every check runs on your device.

Features

How to use the ads.txt Validator

  1. Paste your ads.txt or app-ads.txt file, or load the sample to see the format
  2. Read the verdict banner for the error and warning counts
  3. Open Findings to fix each flagged line using the suggested correction
  4. Check the summary counts of DIRECT, RESELLER, and unique domains

Example

Input

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
appnexus.com, 3456, RESELLER
badexchange.com, 99, PARTNER

Output

2 records valid
Line 3 — Relationship must be DIRECT or RESELLER (found "PARTNER").

The third field must be DIRECT or RESELLER; PARTNER is rejected.

Common errors & troubleshooting

Frequently asked questions

What does the ads.txt Validator check on each line?
For every DATA record it verifies there are 3 or 4 comma-separated fields — advertising system domain, publisher account id, a DIRECT or RESELLER relationship, and an optional certification authority id — then flags wrong field counts, bad relationship values, duplicates, and stray whitespace with the line number.
What is the difference between DIRECT and RESELLER in ads.txt?
DIRECT means the publisher has a direct account with that advertising system and controls the seller relationship. RESELLER means an authorized partner resells the inventory through their own account. The third field must be exactly one of these two keywords.
Does this validator work for app-ads.txt as well?
Yes. app-ads.txt uses the same record grammar as ads.txt — the same DATA record fields and VARIABLE declarations — so you can paste either file and the same checks apply. app-ads.txt simply lives at the developer domain from your app store listing.
How are VARIABLE lines like OWNERDOMAIN handled?
Lines written as KEY=value are parsed as variables rather than seller records. The validator recognizes CONTACT, SUBDOMAIN, OWNERDOMAIN, MANAGERDOMAIN and INVENTORYPARTNERDOMAIN, warns on unknown keys, and flags a variable that has no value.
What counts as a duplicate ads.txt record?
Two records with the same advertising system domain, publisher account id, and relationship — compared case-insensitively on the domain — are duplicates, even if one adds a certification authority id. The validator points to the first line the record appeared on so you can remove the repeat.
Is my ads.txt file uploaded when I validate it?
No. The validator parses and checks the file on your device and never fetches a remote ads.txt URL or ad tag. Nothing you paste is sent to ArrayKit or any crawler.

Related tools

All ArrayKit tools