ads.txt Checker

Enter a publisher domain to fetch its ads.txt — or app-ads.txt for mobile and CTV inventory — and check it line by line. Every record is listed, every malformed line is flagged with the reason, and the 1.1 variables are pulled out separately. No account, and nothing to install.

File to check

Just the domain — the tool requests /ads.txt itself.

Runs in your browser · nothing sent, stored, or logged

Specification

Validated against IAB Tech Lab ads.txt specification v1.1

Version 1.1 was published in January 2024 and added the OWNERDOMAIN and MANAGERDOMAIN variables. Records are checked for field count, a valid DIRECT or RESELLER relationship, a bare ad-system domain, a non-empty publisher ID, and duplication.

What ads.txt actually prevents

The file is a public list of the ad systems a publisher has authorised to sell its inventory, and the account IDs those sales run through. A buyer seeing inventory offered by a seller not on that list knows the offer is unauthorised — which is what makes domain spoofing uneconomic. The consequence for publishers is unforgiving: a syntax error that invalidates a line can quietly remove a legitimate demand path, and nothing in the ad server will report it. That is why the most valuable check is not whether the file exists but whether every line in it parses.

The errors that actually cost money

In practice, most broken lines fall into a few families. A stray comma splits one record into two malformed ones. A pasted URL appears where a bare domain belongs, so google.com becomes https://google.com/ and no longer matches. A relationship field says PARTNER or is missing entirely. A publisher ID carries a trailing space from a spreadsheet. None of these produce a visible symptom — the file still loads, the site still serves ads, and the only evidence is a demand partner that stopped bidding. Checking after every edit costs seconds; finding it in a revenue report costs a month.

Frequently asked questions

What do OWNERDOMAIN and MANAGERDOMAIN mean?
Both were added in ads.txt 1.1 (January 2024). OWNERDOMAIN declares the business that owns the inventory, which lets buyers group a publisher's many domains under one owner. MANAGERDOMAIN declares the company that monetises it on the owner's behalf, optionally per country — MANAGERDOMAIN=partner.com,US is valid. Only one OWNERDOMAIN is allowed per file.
Why does the checker say a domain is unreachable when my browser loads it?
Many publishers sit behind a CDN that blocks datacenter traffic, so a request from a server gets a 403 while your browser gets the file. That is a property of their edge configuration rather than a problem with the file. Worth knowing: some crawlers hit the same wall, which can mean your authorised sellers are not being read.
Do redirects on ads.txt cause problems?
They are permitted, and this tool follows up to three hops. But the spec only honours redirects within limits, and every hop is a chance for a CDN rule or a stale rewrite to lose the file. Serving ads.txt directly at the root, as plain text, avoids an entire category of silent failure.
What is app-ads.txt, and do I need both?
app-ads.txt is the same file format at a different path, /app-ads.txt, covering mobile app and CTV inventory rather than web. A publisher selling both needs both files — crawlers look for app-ads.txt via the developer URL listed in the app store, and having only ads.txt leaves app inventory unauthorised. This tool checks either; use the toggle above the domain field.
Is a duplicate line actually a problem?
Not for crawlers, which deduplicate. It matters as a signal: duplicates usually mean two teams have been editing the file independently, which is how contradictory or stale seller entries survive. Worth cleaning up when you see it.
Should the relationship field be uppercase?
The spec treats it case-insensitively, so lowercase direct will be honoured. Convention is uppercase, and mixed casing across a file is a reliable sign it has been assembled by hand from several sources — which is where errors tend to hide.

Related