Skip to content
100% local

ads.txt validator

Check an ads.txt file for syntax errors, duplicate entries and missing fields.

Input
Output

ads.txt validator

Paste the contents of an ads.txt file and this tool checks every line against the IAB Tech Lab format: each record needs exactly three or four comma-separated fields — the advertising system's domain, your publisher account ID, a relationship type of DIRECT or RESELLER, and an optional certification authority ID. Publishers use ads.txt to declare which ad systems are authorized to sell their inventory, so a stray typo or a malformed line can silently let an unauthorized seller through or make a legitimate one fail an ads.txt crawl.

Turn on duplicate checking to flag repeated (domain, publisher ID, relationship) combinations — a common copy-paste mistake when merging entries from several ad partners. Missing certification authority ID warnings catch cases where an exchange requires that field but it was left off. The validator also recognizes the four variable lines from the spec — CONTACT, SUBDOMAIN, OWNERDOMAIN and MANAGERDOMAIN — and checks that domain-shaped variables carry no scheme or path. Text after a hash sign is a trailing comment and doesn't affect validation.

Choose how the result is presented: an error list inserts a numbered "Line N: …" comment above every problem line, lined up with your original file for easy fixing; a cleaned file keeps only the valid, normalized records — lower-cased domains, upper-cased relationship types, duplicates collapsed to their first occurrence — ready to publish. Windows and Unix line endings are handled the same way, and the live tally shows records checked, issues found and duplicates removed as you type.

Everything runs locally in your browser. The file never leaves your device, which matters for a document that can reveal your ad partner relationships. When you're happy with the result, copy it, download it as a .txt file, or send it back to the input to run another pass.

FAQ

What counts as a valid ads.txt line?
A record with three or four comma-separated fields: domain, publisher account ID, relationship type (DIRECT or RESELLER), and an optional certification authority ID. Lines can also be one of the four variables — CONTACT, SUBDOMAIN, OWNERDOMAIN, MANAGERDOMAIN — written as KEY=value.
Why does the domain field fail validation?
The domain must not include a scheme or a path — "adsystem.com" is valid, but "https://adsystem.com" or "adsystem.com/sell" is not, since ads.txt domains are bare hostnames.
What does the duplicate check compare?
It matches on domain, publisher ID and relationship type together, ignoring case. Two entries that differ only in their certification authority ID are still treated as duplicates.
Does the cleaned output change my publisher IDs or certification IDs?
No. Only the domain (lower-cased) and the relationship type (upper-cased) are normalized. Publisher account IDs and certification authority IDs are kept exactly as entered, since case can matter for those.
Is my ads.txt file uploaded anywhere?
No. Validation runs entirely in your browser — the file and your ad partner details never leave your device.