Ads.txt Generator & Validator
Create an ads.txt or app-ads.txt file from your AdSense publisher ID and other sellers, or paste one to check every line against the IAB Tech Lab ads.txt 1.1 format.
pub-0000000000000000 is a placeholder: replace it with your own ID from AdSense › Account › Account information.
Adding OWNERDOMAIN=your-domain is recommended by ads.txt 1.1, even when it is the domain the file is on.
Upload ads.txt to the root of your domain (https://example.com/ads.txt) as plain text. AdSense can take a few days, or longer on low-traffic sites, to see changes.
An ads.txt file lists every company allowed to sell ads on your site, so buyers can reject inventory that is resold without your permission. Google AdSense warns when a site's file is missing or incomplete, and apps publish app-ads.txt for the same purpose. This tool builds a correct file from your Google publisher ID, the seller lines your ad networks give you and the optional variables of ads.txt 1.1, or checks an existing file line by line against the IAB Tech Lab specification.
How to use this tool
- Choose Generate, and whether you need ads.txt (a website) or app-ads.txt (an app).
- Enter your Google publisher ID and paste any other seller lines from your ad networks.
- Optionally add OWNERDOMAIN, MANAGERDOMAIN, CONTACT, SUBDOMAIN or INVENTORYPARTNERDOMAIN.
- Copy the file and upload it to the root of your domain — or switch to Validate and paste a file to check it.
Formula
record = ad system domain, account ID, DIRECT | RESELLER[, certification authority ID] · variable = NAME=value · # starts a comment
Field 1 is the ad system's domain (google.com), field 2 your account ID in that system, field 3 DIRECT when you control the account or RESELLER when another company sells for you, and field 4 the optional TAG certification ID. Version 1.1 (2022) added OWNERDOMAIN and MANAGERDOMAIN to CONTACT, SUBDOMAIN and INVENTORYPARTNERDOMAIN. A file with no sellers should contain the placeholder record placeholder.example.com, placeholder, DIRECT, placeholder.
Example
For the AdSense publisher ID pub-1234567890123456 the file needs one line: google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0. Validating "google.com, pub-1, PARTNER" gives 1 error (PARTNER is not DIRECT or RESELLER) and 1 warning (Google IDs are pub- plus 16 digits).
Frequently asked questions
Where does the file go?
At the root of the domain the ads appear on: https://example.com/ads.txt, served as plain text. For an app, app-ads.txt goes at the root of the developer website named on its store page. A subdomain needs its own file only if the root file points to it with SUBDOMAIN=.
AdSense still says "ads.txt not found". Why?
Google re-crawls the file over a few days, longer for sites with few ad requests. Check that the address opens as plain text without logging in and that a redirect does not send it to another domain.
Do I need lines for every ad network?
Yes — each system that sells your inventory needs its own line with the account ID it uses for you. Missing lines can make buyers skip those impressions. Remove lines for partners you no longer work with.
Sources
Last updated:
Page address with these inputs: https://kakao.mobile/tools/ads-txt-generator/
Cite or embed this tool
kakaoCalc. (2026, November 8). Ads.txt Generator & Validator. https://kakao.mobile/tools/ads-txt-generator/
“Ads.txt Generator & Validator.” kakaoCalc, 8 Nov. 2026, kakao.mobile/tools/ads-txt-generator/.
Paste this code into your page. The widget runs in your visitors' browsers, shows no ads and keeps a link back to this page. Embedding terms