Ads.txt Validator
DataEnter your domain to check if ads.txt exists and has valid AdSense entries. Verifies file status, publisher IDs, and DIRECT/RESELLER records instantly.
Reviewed by the thecalcu.com team ยท Last updated August 17, 2026
We'll fetch https://{domain}/ads.txt and check it against the IAB ads.txt spec.
What is a Ads.txt?
An Ads.txt Validator checks whether a domain publishes a correctly formatted ads.txt file โ the Authorized Digital Sellers standard the IAB Tech Lab created in 2017 to stop ad fraud from unauthorized resellers spoofing publisher inventory. Google AdSense, along with most major exchanges, reads this file before it decides whether to bid on your ad slots, which makes a broken or missing file a quiet drag on revenue that doesn't show up as an obvious error anywhere in your dashboard.
The file itself is simple: one line per authorized seller, each listing an ad system domain, your account ID with that system, and whether the relationship is direct or through a reseller. Getting the syntax right matters more than it might seem, because a single malformed line can cause a buyer's crawler to reject the whole file rather than just that one entry. This tool fetches your live ads.txt and checks it against the spec the same way a buyer's crawler would, so you catch the problem before it costs you impressions. Pair it with the Robots.txt Validator if you're auditing your site's crawler-facing files as a set.
Why Use an Ads.txt Validator?
Ad exchanges don't send you an error report when your ads.txt is broken โ they just quietly stop bidding, and the only symptom you'll notice is lower fill rates or revenue that doesn't match your traffic. Catching a missing DIRECT line or a typo in your publisher ID here takes seconds, versus the days it can take to notice a revenue dip and trace it back to a file most people set up once and never look at again.
It's also useful after any site migration, CMS switch, or CDN change, since ads.txt sometimes gets dropped or served with the wrong content-type during a rebuild. A quick check confirms the file survived the move intact and is still reachable at the exact path buyers expect.
How to use this Ads.txt calculator
- Enter your site's domain in the Domain Name field โ just the bare domain like
example.com, no need forhttps://or a trailing path. - Click Check ads.txt. The tool builds
https://yourdomain.com/ads.txtand fetches it live. - If the file isn't found, you'll see the HTTP status returned and a note that AdSense requires the file at your site's root.
- If it's found, expand Show fetched content to review the raw file alongside the validation result.
- Read the result panel: a green Valid badge means every line parsed correctly, while Invalid lists each line number with the specific problem โ a missing field, a bad relationship type, or a malformed record.
- Fix any flagged lines in your actual
ads.txtfile on your server, then re-run the check to confirm.
Show formula & methodology โShow less โ
Formula & Methodology
The validator applies the IAB Tech Lab's ads.txt 1.0.2 specification to each non-blank, non-comment line: - Record format:<AD SYSTEM DOMAIN>, <PUBLISHER ACCOUNT ID>, <RELATIONSHIP>[, <CERTIFICATION AUTHORITY ID>]โ at least the first three comma-separated fields are required. - Relationship must beDIRECTorRESELLER(case-insensitive). - Variable declarations โcontact=,subdomain=,ownerdomain=,managerdomain=โ are recognized separately and don't need the record format. - Lines starting with#, or anything after a#on a record line, are treated as comments and ignored. Valid example:google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0Invalid example:google.com, pub-0000000000000000This fails because it's missing the relationship type โ the parser expects at least three fields and only finds two.
Common Reasons This Validator Fails
A few mistakes account for most ads.txt failures. Missing the relationship type entirely โ pasting just the domain and publisher ID โ is the most frequent one, often from copying a partial snippet instead of the full line an ad partner provided. Typing DIRECTS or Reseller with trailing characters also breaks the check, since the relationship field has to match DIRECT or RESELLER exactly aside from case.
Publishing the file at the wrong path is another common trip-up โ it has to sit at the domain root, not in a subfolder, and it has to be plain text, not HTML wrapped in a CMS template. Some site builders serve /ads.txt with an HTML error page instead of a 404 when the file is missing, which can fool a quick manual check into thinking the file exists when a validator would catch that it isn't real content. Forgetting to add a RESELLER line for a network partner, while only including your own DIRECT line, can also cost that partner's demand even though your own AdSense line is fine.
Quick Reference
| Field | Example | Required |
|---|---|---|
| Ad system domain | google.com |
Yes |
| Publisher account ID | pub-0000000000000000 |
Yes |
| Relationship | DIRECT or RESELLER |
Yes |
| Certification authority ID | f08c47fec0942fa0 |
No |
Related checks worth running alongside this one:
- App-ads.txt Validator โ the equivalent file for mobile app inventory
- Robots.txt Validator โ confirms your crawler rules are syntactically correct
- Sitemap Validator โ checks your XML sitemap structure
- Domain Name Validator โ format-checks a domain name itself
Frequently Asked Questions