ads.txt Validator
Check an ads.txt or app-ads.txt file line by line for the errors that silently cost revenue.
About this tool
Validates an `ads.txt` or `app-ads.txt` file against the IAB specification, line by line, and reports duplicates and contradictions.
The reason to check it is that failures here are silent. **A malformed line is skipped by the crawler that reads it**, with no error reported anywhere. The seller you meant to authorise is simply not authorised, their bids stop being accepted, and revenue falls with nothing to explain it.
**DIRECT and RESELLER are not interchangeable.** DIRECT means you have a contract with that seller. RESELLER means they were authorised by someone else in the chain. Declaring a reseller as DIRECT misstates a business relationship, which is the exact thing the standard was created to stop.
The file goes at the root of your domain — `/ads.txt` — served over HTTP or HTTPS as plain text.
Common questions
What does each field mean?
Four comma-separated fields: the advertising system domain, your publisher account ID with them, DIRECT or RESELLER, and optionally the Trustworthy Accountability Group ID of that system. The first three are required.
What happens if a line is malformed?
It is skipped. Not reported, not queried — skipped. The seller on that line is treated as unauthorised and their bids are dropped, which shows up as a revenue decline with no accompanying error.
When should a line say RESELLER?
When the seller was authorised by someone else rather than by you directly. If your contract is with an intermediary who works with that exchange, it is RESELLER. Only a direct contractual relationship is DIRECT.
What is app-ads.txt?
The same format for mobile apps, hosted on the developer website listed in the app store. The syntax is identical, so this validates either.