The llms.txt file format: every field, what it does, and a live example
The llms.txt format explained field by field: H1 entity name, blockquote description, H2 sections, Optional label, and the llms-full.txt companion file — with a copy-paste template.
B
Stephan Ochse
12 min read
July 6, 2026
Share
By Stephan Charles | Last fact-checked: 2026-07-06
The llms.txt format is a markdown specification for a plain-text file placed at your domain root that tells AI retrieval systems what your site contains, how it's organized, and which pages matter most. It is not a suggestion — it is a direct instruction layer that sits above your sitemap and below your content. BrandCited is a GEO (generative engine optimization) intelligence platform that monitors brand citations across 9 AI engines — ChatGPT, Claude, Gemini, Perplexity, Copilot, Grok, You.com, Brave, and DeepSeek — and audits llms.txt file quality as one of its 30+ technical checks.
The standard was proposed by Jeremy Howard, cofounder of answer.ai, in September 2024. The proposal established four structural elements: an H1 brand name, a description blockquote, H2 section labels, and linked page lists within those sections. Every element has a specific function in AI retrieval. This post breaks each one down with the exact format and a complete copy-paste template.
Run a free BrandCited audit at brandcited.ai to check whether your llms.txt passes all required checks.
The llms.txt specification is a minimal markdown document, not an XML schema or a proprietary database format. There is no syntax validation layer — AI models parse it the same way they parse any markdown content. The format's value comes from consistency, not enforcement.
Fact 1: The llms.txt proposal was published by Jeremy Howard of answer.ai in September 2024 at llmstxt.org, establishing a community-maintained specification for how domain owners can communicate structured intent to AI retrieval systems.
Fact 2: Unlike robots.txt, which uses a purpose-built syntax with specific directives (User-agent, Disallow, Allow), llms.txt uses standard CommonMark markdown — meaning any AI model that can parse markdown can read a well-formed llms.txt without a custom parser.
The file lives at the root of your domain: . It is publicly accessible, unauthenticated, and crawlable by any bot. The format mirrors the simplicity of robots.txt while using markdown to carry richer semantic content than a directive-based syntax allows.
Track your AI visibility now
See exactly how AI engines like ChatGPT, Perplexity, and Gemini perceive your brand.
The BrandCited team covers GEO, AI search optimization, and brand visibility strategy. We publish research, practical guides, and product updates every week.
The llms.txt spec defines four structural elements. Each maps to a specific signal in AI retrieval.
Field 1 — The H1: entity name
The H1 at the top of the file declares the canonical entity name for the site. This is the name AI models should use when referring to your brand in generated answers.
# BrandCited
Fact 1: AI retrieval systems that index llms.txt treat the H1 as the preferred label for the entity. If your site operates under multiple names — legal entity, brand name, product name — the H1 is where you pick the one you want AI models to use.
Fact 2: The H1 should match the name field in your Organization schema JSON-LD. Consistency between the two signals reinforces entity identity: the AI model sees the same name in two independent machine-readable sources, raising its confidence in the entity mapping.
What to put in H1: the name as a customer would say it. Not "BrandCited.ai" or "BrandCited, Inc." — just "BrandCited."
Field 2 — The blockquote: brand description
The blockquote, placed directly after the H1, describes what the site does in one to two sentences.
# BrandCited
> BrandCited monitors brand citations across 9 AI engines — ChatGPT, Claude, Gemini, Perplexity, Copilot, Grok, You.com, Brave, and DeepSeek — and scores each brand's AI visibility from 0 to 100.
Fact 1: The blockquote is the primary description field AI models use to classify your brand into a topic category. A vague blockquote ("We help businesses grow online") produces a vague classification. A specific one ("GEO SaaS that monitors ChatGPT and Perplexity for brand citations") places your brand in the right category cluster.
Fact 2: The blockquote is optional per the spec but treated as required by most AI systems that ingest llms.txt. A file with an H1 and no blockquote gives retrieval systems a name but no classification signal — the equivalent of a business card with only a name and no job title.
Keep the blockquote under 50 words. Name the engines, categories, or use cases your product addresses directly — AI models use these terms to match your brand to relevant queries.
Field 3 — H2 sections: content categories
H2 headings divide your llms.txt into named content sections. Each H2 label tells the AI what type of content follows.
## Docs
- [Getting started](https://yourdomain.com/docs/getting-started): How to connect your brand and run your first scan
- [AI visibility scoring](https://yourdomain.com/docs/scoring): How BrandCited calculates the 0-100 AI visibility score
- [Supported engines](https://yourdomain.com/docs/engines): All 9 AI engines BrandCited monitors
## Blog
- [Why brands don't show up in ChatGPT](https://yourdomain.com/blog/chatgpt-visibility): Common gaps in AI citation presence
- [The llms.txt format explained](https://yourdomain.com/blog/llms-txt-format): Field-by-field breakdown with a live template
Fact 1: The H2 label functions as a topic cluster signal. AI models that retrieve content for queries like "BrandCited documentation" will prioritize pages listed under a "Docs" H2 over pages listed under a general "Pages" or "Links" H2.
Fact 2: There is no canonical list of valid H2 labels in the llms.txt spec. Common categories seen in production files include: Docs, API, Blog, Guides, Pricing, About, Case Studies, Integrations, and Optional. The ## Optional H2 is a special reserved label described in Field 4 below.
Each link within an H2 section follows this format:
- [Page title](URL): Brief description of what this page covers
The colon-plus-description after the link URL is optional in the spec, but recommended. AI models use it to select which page to fetch when answering a specific question. A description like "How BrandCited calculates the 0-100 AI visibility score" pulls the scoring page to the top of retrieval for scoring-related queries. A link with no description gets treated as a generic page reference.
Field 4 — The Optional H2: lower-priority content
The ## Optional heading is a reserved signal in the llms.txt spec. Pages listed under it are accessible to AI models but marked as lower priority for retrieval.
## Optional
- [Privacy policy](https://yourdomain.com/privacy): Privacy and data handling
- [Terms of service](https://yourdomain.com/terms): Terms and conditions
- [Sitemap](https://yourdomain.com/sitemap.xml): Full site index
Fact 1: Pages under ## Optional tell AI retrieval systems: fetch these if needed, but do not prioritize them when answering topic questions. Legal pages, changelog archives, and full sitemap links belong here.
Fact 2: The Optional heading is case-sensitive per the spec. ## Optional signals the reserved behavior. ## optional or ## OPTIONAL may not be parsed as the reserved label by all AI model implementations that check for it.
The companion file llms-full.txt, placed at https://yourdomain.com/llms-full.txt, contains the full text content of each page listed in your llms.txt, concatenated into one document.
Fact 1: AI models using a single-fetch retrieval pattern can download llms-full.txt to access all of a site's curated content without making individual page requests. For sites with deep content archives, this reduces the number of HTTP requests a model makes from dozens to one.
Fact 2: The format for llms-full.txt is the page URL as an H1, followed by the full page markdown content, then a horizontal rule separator, repeated for each page. No proprietary format — any static site generator or CMS export script can produce it automatically.
# https://yourdomain.com/docs/getting-started
[Full content of getting started page in markdown]
---
# https://yourdomain.com/docs/scoring
[Full content of scoring page in markdown]
---
Most sites ship llms.txt first and add llms-full.txt later, once tooling exists to generate it automatically on each deploy. Perplexity and Claude are the two AI engines most likely to ingest llms-full.txt when indexing a domain — both use retrieval patterns that benefit from a pre-concatenated content source.
The following template covers a SaaS product with documentation, a blog, and standard legal pages. Replace placeholder content with your brand's specifics.
# [Your Brand Name]
> [One to two sentences describing what your product does, who it's for, and what problem it solves. Name specific features, categories, or target users.]
## Docs
- [Getting started guide](/docs/getting-started): Step-by-step setup from account creation to first result
- [Feature: [feature name]](/docs/[feature]): What this feature does and how to use it
- [Pricing and plans](/pricing): Plan tiers, feature limits, and billing information
## Blog
- [Key guide title](/blog/[slug]): A sentence describing the guide's thesis or main claim
- [Second guide title](/blog/[slug]): A sentence describing what the reader learns
## About
- [About [Brand]](/about): Founding story, mission, and the problem we solve
- [Case studies](/case-studies): How [Brand] works in practice, with results data
## API
- [API reference](/api): Full endpoint documentation with request and response formats
- [Authentication](/api/auth): API keys, OAuth, and token management
## Optional
- [Privacy policy](/privacy): Data collection, storage, and user rights
- [Terms of service](/terms): Usage terms and conditions
- [Sitemap](/sitemap.xml): Full site index
Save this file as llms.txt, place it at your domain root, and verify it is accessible at https://yourdomain.com/llms.txt with a 200 status code. Some CDN configurations redirect the root path in ways that break llms.txt delivery to AI crawlers — fetch it directly from your browser's address bar to confirm.
EntityMap standard launched: Fred Laurent, CTO of InLinks, launched EntityMap on July 1 — a JSON file at your domain root that tells AI crawlers your organization's knowledge domains and entity relationships, extending what llms.txt does into structured entity graph territory. (InLinks)
Google Search Agents live: Google launched 24/7 AI monitoring agents for AI Ultra subscribers on July 2. Agents re-query topics continuously, making citation consistency across repeat queries the new standard for AI visibility. (Google Blog)
Ahrefs brand-mention study: Ahrefs analyzed 75,000 brands and found brand mentions predict AI search citations 3x more accurately than backlinks, with a correlation coefficient of r=0.664 for mentions versus r=0.218 for links. (Ahrefs via Design Rush)
Claude Fable 5 globally redeployed: Anthropic redeployed Claude Fable 5 worldwide on July 1 after US export controls lifted, expanding availability to Amazon Bedrock and Google Cloud. (MarkTechPost)
Perplexity query volume: Perplexity processes an estimated 1.2 billion monthly queries as of July 2026, up 54% from 780 million in May 2025. (Panto.ai)
BrandCited's audit engine checks for llms.txt presence, structure, and completeness as part of its technical AI visibility checks. The audit flags missing H1 declarations, absent blockquotes, H2 sections with fewer than two linked pages, and mismatches between the llms.txt H1 and the Organization schema name field. Each finding includes a specific remediation step ranked by impact on AI citation probability.
Run a free BrandCited scan at brandcited.ai to check your llms.txt against all 30+ audit criteria.
1Create your llms.txt today if you don't have one. Place it at https://yourdomain.com/llms.txt using the template above. This is 20 minutes of work.
2Write a specific blockquote, not a generic one. Name your product category, the integrations you connect to, or the specific problem you solve. Vague blockquotes produce vague AI classifications.
3Match your H1 to your Organization schema `name` field. Open your homepage source, find your JSON-LD, and confirm the name field matches the H1 in your llms.txt exactly.
4Add descriptions to every link. The colon-plus-description after each link URL is optional per the spec but used by AI models to select pages for retrieval. A description makes your pages more retrievable for specific queries.
5Move legal and admin pages under `## Optional`. Anything that is not a product, doc, blog, or about page belongs in Optional. Keeping your primary sections lean improves retrieval signal-to-noise.
6Verify the file returns a 200. Fetch https://yourdomain.com/llms.txt directly from your browser. A redirect chain, a 404, or a 403 means AI crawlers cannot read your file — and BrandCited will flag it as a failed check.
What is the difference between llms.txt and robots.txt?
robots.txt controls which pages AI crawlers and search engine bots can access. llms.txt provides structured context about what those pages contain and how they are organized. The two files serve different functions: robots.txt is access control, llms.txt is content classification guidance. A well-configured site has both.
Is llms.txt required for AI visibility?
No. AI models index and cite content from sites without llms.txt. The file improves citation probability by giving retrieval systems a faster, more accurate way to classify your brand and identify your most important content. Sites without llms.txt rely on AI models inferring structure from HTML alone — a slower and less accurate process than a direct instruction file.
What is the Optional section in llms.txt?
The ## Optional heading is a reserved label in the llms.txt spec that marks lower-priority pages. Pages listed under Optional are accessible to AI models but are not prioritized for retrieval when answering topic questions. Legal pages, full sitemaps, and changelog archives belong here.
Does llms.txt work for Perplexity, Claude, and ChatGPT equally?
Each AI engine handles llms.txt differently. Perplexity fetches llms.txt as part of its real-time web retrieval loop and uses it to scope which pages to fetch for a query. Claude's retrieval layer uses the file as a topic classification signal when present. ChatGPT's browse-enabled mode can fetch and parse llms.txt during research queries. None of the three guarantee citation based on llms.txt alone — content quality and third-party citation footprint remain primary signals.
How often should I update my llms.txt?
Update it whenever you add a significant new section — a new product, a new docs area, a new blog category. For sites with stable content structures, once per quarter is sufficient. Add a comment at the top of your file to track freshness if you want AI models to treat it as a maintained signal: <!-- Last-modified: 2026-07-06 -->.
What is llms-full.txt?
llms-full.txt is a companion file at yourdomain.com/llms-full.txt that contains the full markdown content of each page listed in your llms.txt. AI models that use single-fetch retrieval can download llms-full.txt to read all curated content in one request. It is optional. Most sites ship llms.txt first and add llms-full.txt once they have tooling to generate it automatically on each deploy.