Home › Developer Tools › Ads.txt Generator

Ads.txt Generator

Build a correct ads.txt or app-ads.txt file line by line, with one-click presets for common ad systems and their certification authority IDs. Or paste an existing file to validate every record and get a cleaned copy.

Last updated:

1. Seller lines

Bulk paste lines from your ad partners

2. Variables & options (optional)

ads.txt

    Advertisement
    Advertisement

    How to use the Ads.txt Generator

    1. Choose the file type: ads.txt for websites or app-ads.txt for mobile and CTV apps.
    2. Add seller lines: pick an ad system preset (it fills the domain and cert ID) and enter your publisher account ID, or paste the lines your ad partners gave you.
    3. Set the relationship: DIRECT if you control the account, RESELLER if a partner sells your inventory through its own account.
    4. Add variables such as CONTACT or OWNERDOMAIN if you need them, then review the warnings next to the output.
    5. Download the file and upload it to the root of your domain so it loads at https://example.com/ads.txt.
    6. Validate any existing file in the Validate tab to find typos and duplicate records.

    Ads.txt record format

    An ads.txt file is plain UTF-8 text. Every record sits on its own line and uses comma-separated fields. Anything after a # is a comment, and blank lines are ignored.

    #FieldRequiredExampleMeaning
    1Ad system domainYesgoogle.comCanonical domain of the exchange or SSP that sells the inventory
    2Publisher account IDYespub-1234567890123456Your seller or account ID on that ad system, exactly as the partner gave it
    3RelationshipYesDIRECTDIRECT if you control the account, RESELLER if a partner sells through its own account
    4Certification authority IDNof08c47fec0942fa0The ad system's TAG ID, identifying the ad system rather than you

    A complete line reads google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0. Buyers match the domain and account ID against the seller information in each bid request, so a single typo silently blocks that demand.

    Variables

    VariableUse
    CONTACT=An email address, URL or phone number for the person who maintains the file.
    SUBDOMAIN=Points crawlers to a subdomain that has its own ads.txt file (website ads.txt only).
    OWNERDOMAIN=The business domain of the owner of the site (ads.txt 1.1), used to match sellers.json entries.
    MANAGERDOMAIN=The domain of a company that manages monetization for the site, optionally with a country code.
    INVENTORYPARTNERDOMAIN=Used in app-ads.txt and CTV setups to point to an inventory sharing partner's file.

    Common ads.txt mistakes

    • Wrong Google ID format. Use pub- plus 16 digits. The ca-pub- form from the ad code does not belong in ads.txt.
    • Wrong location. The file must be at the root domain, for example https://example.com/ads.txt. A copy in a subfolder or on another host that you redirect to may be ignored.
    • Spaces instead of commas, or a fifth field. Each record has three or four fields separated by commas.
    • Copying partner lines blindly. Lines your partners send are normally RESELLER. List an account as DIRECT only if you own it.
    • Stale lines. Remove partners you no longer work with. An ads.txt full of old resellers makes your supply path look less clean to buyers.

    Frequently asked questions

    What is ads.txt?

    Ads.txt (Authorized Digital Sellers) is an IAB Tech Lab standard. A publisher lists, in a plain text file at the root of its domain, every ad system and account allowed to sell its ad inventory. Buyers check the file to avoid buying spoofed or unauthorized inventory.

    What is the format of an ads.txt line?

    Each record has comma-separated fields: the ad system domain, your publisher account ID on that system, the relationship (DIRECT or RESELLER) and an optional certification authority ID, for example: google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0. Lines starting with # are comments.

    Where do I upload ads.txt?

    At the root of the domain, so it is reachable at https://yourdomain.com/ads.txt. It must be served as plain text with a 200 status. For apps, app-ads.txt goes at the root of the developer website listed in the app store.

    What is the difference between DIRECT and RESELLER?

    DIRECT means you (the publisher) control the account on that ad system. RESELLER means another company is authorized to resell your inventory using its own account on that system.

    What is the certification authority ID?

    The optional fourth field identifies the ad system in a certification authority, usually its TAG (Trustworthy Accountability Group) ID. For Google it is f08c47fec0942fa0. It must refer to the ad system, not to your own company.

    How long until AdSense sees my ads.txt?

    Google says crawling can take a few days, and for low-traffic sites longer. Make sure the file is at the root domain, includes your exact pub- ID and is not blocked by robots.txt or redirects to another domain.

    Is my data uploaded?

    No. The file is built and validated in your browser. Nothing you type is sent anywhere.

    Are all the tools on FreeToolCabin tested for quality and accuracy?

    Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

    Related tools

    Robots.txt GeneratorBuild a robots.txt file with rules, sitemap lines and AI-bot blocking presets.LLMs.txt GeneratorBuild an llms.txt file for AI crawlers: summary and link sections, import from your sitemap.Sitemap GeneratorTurn a list of URLs into a valid XML sitemap file.Meta Tag GeneratorCreate SEO, Open Graph and X meta tags with live previews.QR Code GeneratorMake QR codes for links, Wi-Fi, email and more.Barcode GeneratorCreate Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes as PNG or SVG.UUID GeneratorGenerate UUID v4 and v7 / GUIDs in bulk and copy or download them.Schema Markup Generator (JSON-LD)Create JSON-LD structured data for FAQ, Product, Article and more.Htaccess & Nginx Redirect GeneratorBuild 301 redirects for .htaccess, Nginx and Netlify or Cloudflare _redirects.Fake Data GeneratorGenerate mock data as JSON, CSV or SQL.Random String GeneratorGenerate secure random strings and tokens in bulk with any length and character set.API Key GeneratorCreate secure API keys and secrets with prefixes, checksums and SHA-256 hashes for storage.MIME Type LookupFind the MIME type for any file extension, or the extensions for a MIME type, in 400+ entries.Cron Expression GeneratorBuild crontab schedules visually, read them in plain English and see the next run times.URL Slug GeneratorTurn titles into clean, SEO-friendly URL slugs: accents, stop words, separators and bulk lines.JSON Schema GeneratorTurn sample JSON into a draft 2020-12 JSON Schema with types, required fields and formats.Gitignore GeneratorBuild a .gitignore from 50+ templates for languages, frameworks, IDEs and OS, merged and deduped.License GeneratorCreate a LICENSE file for MIT, Apache, GPL, BSD, ISC, MPL or Unlicense with your name and year.ULID GeneratorGenerate sortable ULIDs and UUID v7 in bulk, monotonic option, and decode their timestamps.Htpasswd GeneratorCreate .htpasswd entries with bcrypt, APR1-MD5 or SHA-1 for Apache and Nginx basic auth.Placeholder Image GeneratorCreate placeholder images in any size, color and text as PNG, JPG, WebP, SVG or data URI.Docker Run to Compose ConverterConvert docker run commands to docker-compose.yml, or a compose file back to docker run.Dockerfile GeneratorGenerate a production Dockerfile and .dockerignore for Node, Python, Go or a static nginx site.HTML Boilerplate GeneratorTick the options you need and get a clean HTML5 starter template with meta, OG tags and CSS reset.JSON to Zod SchemaInfer a Zod (or Yup) schema from sample JSON with optional, nullable and z.infer types.Linux Commands Cheat SheetSearchable Linux and bash command reference with flags explained, examples and copy buttons.Nano ID GeneratorGenerate secure Nano IDs with custom alphabet, length and count, plus a collision calculator.Nginx Config GeneratorBuild an nginx server block: static site, SPA, reverse proxy or PHP, with SSL, gzip and redirects.OpenAPI / Swagger ViewerView OpenAPI 2/3 JSON or YAML as interactive API docs with validation and an endpoint list.package.json GeneratorFill a form and get a valid, npm-ready package.json with scripts, dependencies and checks.PKCE Code Challenge GeneratorGenerate an OAuth 2.0 PKCE code_verifier and S256 code_challenge, build auth URLs, verify pairs.README GeneratorFill in a form and get a polished README.md with badges, install, usage and license, live preview.Regex GeneratorBuild regular expressions visually from blocks or presets (email, date, phone) and test them live.Commit Message GeneratorBuild Conventional Commit messages with type, scope, body, breaking change and issue refs.Database Schema DesignerDesign tables and relationships visually, then export SQL for MySQL, PostgreSQL or SQLite.Docker Compose GeneratorBuild a docker-compose.yml with a form: services, ports, volumes, env, healthchecks and presets.Dummy File GeneratorCreate test files of an exact size in KB, MB or GB with zeros, random bytes or text.FFmpeg Command GeneratorPick a task and options, get the exact ffmpeg command with every flag explained.cURL Command BuilderBuild curl commands from a form: method, headers, query, JSON or form body, auth and flags.Docker Compose to KubernetesConvert docker-compose.yml into Kubernetes Deployment, Service, ConfigMap and PVC manifests.Docker Compose ValidatorCheck a docker-compose.yml for YAML errors, schema mistakes, broken references and deprecated keys.Dockerfile LinterLint a Dockerfile for best practices: pinned tags, apt cleanup, non-root USER and layer count.Dockerignore GeneratorBuild a .dockerignore from Node, Python, Go and Java templates, plus your own entries.ESLint Config GeneratorGenerate a flat eslint.config.js for JavaScript, TypeScript, React or Node with rule presets.Git Branch Name GeneratorTurn a ticket ID and title into a clean, valid git branch name like feature/PROJ-12-add-login.GitLab CI Config GeneratorGenerate a .gitlab-ci.yml with stages, jobs, images, cache, artifacts and rules from templates.Jinja2 Template TesterRender Jinja2 templates with YAML or JSON variables using real Jinja2, with clear error lines.JSON Schema Mock Data GeneratorGenerate realistic sample JSON from a JSON Schema: formats, patterns, $ref, seeds and counts.Kubernetes Secret GeneratorCreate Kubernetes Secret YAML from key/value pairs or .env with auto base64, or decode one.Kubernetes YAML ValidatorValidate Kubernetes manifests against the API schema of a chosen version, with error paths.Prettier Config GeneratorToggle Prettier options, preview formatted code live and copy your .prettierrc file.Quartz Cron GeneratorBuild and explain Quartz and Spring cron expressions with seconds, ?, L, W and #, plus next fire times.README Badge GeneratorCreate Shields.io-style README badges for license, version, build and custom labels.Systemd Service File GeneratorCreate a systemd .service unit with ExecStart, user, restart policy, environment and hardening.tsconfig.json GeneratorBuild a tsconfig.json with target, module, strict checks and path aliases, each option explained.Access Log AnalyzerAnalyze Apache and Nginx access logs: top URLs, IPs, status codes, bots and traffic charts.Regex String GeneratorGenerate random test strings that match any regular expression, checked against the real regex.ASCII Table GeneratorTurn CSV or pasted cells into plain-text tables: MySQL, Markdown, Unicode box and reST styles.Folder Tree GeneratorTurn a local folder or an indented list into an ASCII directory tree for your README.GitHub Actions Workflow GeneratorBuild a GitHub Actions CI workflow: triggers, matrix, caching, tests, Pages or Docker deploy.Kubernetes YAML GeneratorGenerate Deployment, Service, Ingress, ConfigMap, Secret and HPA manifests with safe defaults.Markdown TOC GeneratorGenerate a linked table of contents from Markdown headings with GitHub-style anchors.OpenAPI EditorEdit OpenAPI/Swagger YAML or JSON side by side with live API docs, validation and download.OpenAPI ValidatorValidate OpenAPI 3.0/3.1 and Swagger 2.0 specs: schema errors, broken $refs, line numbers.Pivot Table MakerBuild pivot tables from CSV or Excel by drag and drop: sum, count, average, charts, export.SQL Query BuilderBuild SELECT queries visually: joins, filters, GROUP BY, ORDER BY and LIMIT, as clean SQL.Truth Table GeneratorType a logic expression and get its full truth table, minterms and canonical DNF/CNF.TypeScript PlaygroundWrite TypeScript with live type checking, see the compiled JavaScript and run it in your browser.
    See all 85 Code Generators & Builders →