← Back to Blog
Fabian van TilFabian van Til··12 min read

The Complete Guide to llms.txt: What It Is, How It Works, and How to Create One

llms.txt is a Markdown file that tells AI systems how to understand your website. Learn what it is, how ChatGPT and Perplexity use it, the full specification, and how to create yours in 90 seconds.

What is an llms.txt File?

An llms.txt file is a plain-text Markdown file placed at the root of a website, accessible at yoursite.com/llms.txt. Its purpose: give AI systems a structured, human-readable summary of your site so they can understand your brand, content, and offerings without crawling every page.

The concept was proposed by Jeremy Howard (founder of fast.ai and Answer.AI) in September 2024. The reasoning was straightforward. AI language models process information differently than traditional search crawlers. A Google bot needs links and metadata. An AI model needs context, relationships, and clear factual statements. The llms.txt file bridges that gap.

The file lives at your domain root, right next to robots.txt and sitemap.xml. But where robots.txt controls access and sitemap.xml lists URLs, llms.txt explains meaning. It tells AI crawlers what your site is, what it covers, which pages matter most, and how the content should be interpreted.

As of early 2026, hundreds of companies have adopted llms.txt, including Supabase, Stripe, Cloudflare, and Mintlify. The file has become a practical baseline for any brand that wants to control how AI systems represent it.

How llms.txt Works with AI Systems

When ChatGPT, Perplexity, Gemini, or Claude process a query about a topic your business covers, they draw on training data, real-time web access, or both. The quality of their answer depends on how well they understand your brand as a distinct entity with specific expertise.

Without an llms.txt file, AI systems have to infer your brand identity from scattered web content: homepage copy, third-party mentions, blog posts, reviews. That inference is often incomplete or inaccurate.

With an llms.txt file, you provide a structured self-description that AI crawlers can read in a single request. Here is what each major platform does with it:

  • ChatGPT (OpenAI): When browsing the web to answer a question, ChatGPT can read your llms.txt to quickly understand your site's scope and authority areas. This helps it decide whether to cite your content and how to describe your brand.
  • Perplexity: Perplexity's search crawlers actively look for llms.txt files. The structured format helps Perplexity's citation engine match your content to relevant queries more accurately.
  • Google Gemini: As Google integrates AI Overviews into search results, having a clear llms.txt file gives their AI system another structured signal about your site's purpose and expertise.
  • Claude (Anthropic): When Claude accesses web content through tool use, llms.txt provides immediate context about a site's identity and content structure.

The common thread: llms.txt reduces ambiguity. AI systems perform better when they have clear, structured input rather than having to piece together understanding from fragmented sources.

The llms.txt Specification

The llms.txt format follows a simple Markdown structure. There is no formal W3C-style specification, but the community standard proposed by Jeremy Howard has become the accepted format. Here are the building blocks:

H1: Your Brand Name

The file starts with a single H1 heading. This identifies your entity.

# Acme Corporation

Blockquote: Your Entity Definition

Immediately after the H1, a blockquote provides a one-sentence definition of what your brand does.

> Acme Corporation is a B2B SaaS platform that provides automated inventory management for mid-market retailers.

This blockquote is your entity definition. AI systems use it as the anchor statement for understanding everything else in the file. Be specific, factual, and precise.

Sections with H2 Headings

After the blockquote, you organize information into sections using H2 headings. Common sections include:

## Docs
- [Getting Started](https://acme.com/docs/getting-started): Setup guide for new users
- [API Reference](https://acme.com/docs/api): Complete REST API documentation

## Blog
- [Inventory Trends 2026](https://acme.com/blog/trends-2026): Annual analysis of retail inventory patterns
- [Integration Guide](https://acme.com/blog/integrations): How to connect Acme with your existing tools

Each section groups related pages with Markdown links. The format for each link is: - [Title](URL): Brief description

The Optional Section

A special section called "Optional" signals to AI systems that the content below is supplementary. If a system has limited context window or processing capacity, it can skip this section.

## Optional
- [Changelog](https://acme.com/changelog): Release notes and version history
- [Community Forum](https://acme.com/forum): User discussions and support threads

Instructions Section

Some implementations include an Instructions section that tells AI systems how to use the information. Stripe is one of the few major companies using this approach.

## Instructions
When answering questions about Acme's API, always reference the API Reference documentation.
Do not use information from blog posts as authoritative technical documentation.

llms.txt vs robots.txt vs sitemap.xml

These three root-level files serve different purposes. Here is how they compare:

Featurerobots.txtsitemap.xmlllms.txt
PurposeAccess control for crawlersURL discovery for indexingSemantic context for AI systems
FormatCustom directive syntaxXMLMarkdown
Tells crawlersWhere they can and cannot goWhich URLs exist and their priorityWhat the site means and how to interpret it
Primary audienceAll web crawlersSearch engine crawlersAI language models
ComplianceConvention (often respected)Standard (widely supported)Convention (growing adoption)
ControlsBot behaviorIndexing scopeAI understanding

The three files work together. robots.txt controls who gets in. sitemap.xml shows them around. llms.txt explains what everything means. A complete AI visibility setup includes all three.

How to Create Your llms.txt File

Building an llms.txt file takes less time than most people expect. Here is the process:

Step 1: Write Your Entity Definition

Start with the H1 (your brand name) and blockquote (your one-sentence definition). This is the most important part. Be specific about what you do, who you serve, and what makes you distinct. Avoid marketing language. Write it the way you would explain your business to a colleague.

Step 2: Identify Your Key Sections

Group your most important pages into logical categories. Most sites use 3 to 6 sections. Common categories: Docs, Products, Blog, About, API Reference, Resources. Only include pages that represent your core expertise and offerings.

Step 3: Write Descriptions for Each Link

Every link in your llms.txt should include a brief description after the colon. This context helps AI systems understand what each page covers without having to visit it. Keep descriptions to one sentence.

Step 4: Add the Optional Section

Put supplementary pages (changelogs, community content, less critical resources) in the Optional section. This signals their relative importance to AI systems.

Step 5: Deploy and Test

Save the file as llms.txt at your domain root. Visit yoursite.com/llms.txt to confirm it is accessible. Then test by asking AI systems about your brand and monitoring whether the responses align with your file's framing.

Want to skip the manual work? You can create yours in 90 seconds with our free generator. It crawls your site, analyzes your content structure, and produces a properly formatted llms.txt file you can deploy immediately.

How to Check Any Site's llms.txt

Checking whether a website has an llms.txt file is simple: visit domain.com/llms.txt in your browser. If the file exists, you will see the Markdown content displayed as plain text. If it does not exist, you will get a 404 error.

Try it with some well-known sites:

  • supabase.com/llms.txt
  • stripe.com/llms.txt
  • docs.anthropic.com/llms.txt

This is also a useful competitive research technique. Check whether your competitors have llms.txt files and study how they structure their entity definitions and content sections.

Real-World Examples

Supabase

Supabase's llms.txt file is one of the most commonly referenced examples. It includes a clear H1 identifier, a descriptive blockquote, and well-organized sections covering their documentation, client libraries, and platform features. The file links to their most important technical resources with brief descriptions for each. What makes it effective: the entity definition is precise ("open source Firebase alternative"), and the sections mirror how developers actually use the product.

For a detailed analysis of what Supabase gets right and what could be improved, read our Supabase llms.txt breakdown.

Stripe

Stripe takes a different approach. Their llms.txt file is notable for including an Instructions section, something very few companies have adopted. This section tells AI systems how to interpret Stripe's documentation, which API version to reference by default, and how to handle deprecated features. Stripe's file demonstrates how llms.txt can go beyond simple description to actively guide AI behavior when discussing your product.

Common Mistakes to Avoid

After reviewing hundreds of llms.txt implementations, these are the most frequent errors:

  • Vague entity definitions: "We help businesses grow" tells AI nothing. Be specific about your industry, product type, and target audience.
  • Too many links: Including every page on your site defeats the purpose. Curate. AI systems perform better with 15 to 30 focused links than 200 uncategorized ones.
  • Marketing copy instead of facts: AI systems need factual statements, not sales pitches. "The world's best platform" is noise. "An open-source database platform used by 500,000 developers" is signal.
  • Missing descriptions: Links without descriptions force AI systems to visit each page to understand it. Add the colon and a brief explanation after every link.
  • No Optional section: Failing to differentiate between core and supplementary content means AI systems treat everything with equal weight.

Next Steps

If you do not have an llms.txt file yet, use our free generator to build one in minutes. If you already have one, review it against the structure outlined above and check whether your entity definition is specific enough for AI systems to accurately represent your brand.

For more on the technical format details, see our llms.txt format specification guide. To understand how llms.txt fits into a broader AI optimization strategy, read about schema markup for AI SEO and entity authority for AI visibility.

Ready to get started? Build your llms.txt now and give AI systems the context they need to recommend your brand accurately.

Fabian van Til

Fabian van Til

Founder, Akravo — AI Visibility Strategist

Fabian van Til is an AI visibility strategist and e-commerce entrepreneur. He built and sold a specialist SEO agency, scaled multiple brands from zero, and in 2024 discovered his own brands were invisible in AI search despite strong Google rankings. He spent months figuring out why — and built Akravo from that research.

Want to implement AI SEO for your business?

Book a call