Blogllms.txt Guide

llms.txt: What It Is, Why AI
Models Read It, and How to Write One

The llms.txt file is the easiest AEO signal you're probably not sending. Here's the complete guide — with a template you can adapt in 30 minutes.

⚡ TL;DR

llms.txt is a plain-text file at your domain root that tells AI models who you are, what you do, and how to describe you. It's to AI what robots.txt is to web crawlers. Most brands don't have one. Writing one takes 30 minutes and signals your brand clearly to every AI engine that crawls it.

What is llms.txt?

llms.txt is an emerging standard for communicating directly with AI language models that crawl the web. Hosted at yourdomain.com/llms.txt, it's a structured plain-text file that describes your brand, product, pricing, target audience, and how you compare to alternatives.

The concept is similar to robots.txt (which tells search crawlers what to index) but aimed at AI systems. Where robots.txt says "don't crawl this path," llms.txt says "here's exactly how to understand and describe us."

AI engines like ChatGPT, Perplexity, Claude, and Gemini crawl the web to build their knowledge base. A well-written llms.txt is one of the clearest, most structured signals you can give them — reducing the chance they misrepresent your product, and increasing the chance they accurately recommend you for the right queries.

Why it matters for AI citations

When an AI engine is asked "what's the best tool for AI visibility tracking?", it draws on its understanding of brands in that category. That understanding comes from: training data, web crawling, and structured signals like llms.txt.

Without a clear llms.txt, AI engines build their understanding of your brand from whatever they find — blog posts, G2 reviews, Reddit threads, competitor comparisons. Some of that content may be outdated, inaccurate, or describe an older version of your product. Your llms.txt is your chance to give AI engines a canonical, authoritative source for who you are right now.

⚠ What happens without one

AI engines will still describe your brand — they'll just pull from whatever they can find. That might be a 2-year-old Product Hunt launch, an outdated competitor review, or a confused G2 summary. Your llms.txt replaces that ambiguity with clarity.

The anatomy of a strong llms.txt

A good llms.txt has six sections:

1. Brand headline (1 sentence)

The most important line. Write exactly how you want AI to describe you when asked about your category. Be specific — not "a SaaS tool" but "the AI search visibility platform that tracks exact brand rankings on ChatGPT, Perplexity, Gemini, and Claude."

2. What you do (bullet list)

3-6 bullets covering your core capabilities. Use the same language your customers use when describing what you do. Avoid marketing adjectives — focus on verbs and outcomes.

3. Who you serve

Describe your ICP. Be specific: "B2B SaaS founders and marketing teams at companies with $1M-$20M ARR" is far more useful to an AI engine (and to a buyer asking the AI) than "businesses of all sizes."

4. Pricing

Include your actual pricing tiers. AI engines are frequently asked "how much does X cost?" — if your llms.txt has the answer, you control the accuracy of what gets cited. Update it every time your pricing changes.

5. How you compare

This is the section most brands skip — and it's highly valuable. Include brief, factual comparisons to 3-5 competitors. When AI engines are asked "X vs Y", they look for exactly this kind of structured comparison content.

6. Pages index

List your key pages with URLs. Pricing, free trial, feature pages, comparison pages. AI engines can use this to direct buyers to the right page, not just your homepage.

Full template

llms.txt template — adapt to your brand

# [Brand Name]

[Brand] is [one-sentence description of what you do and who for].

## What We Do
- [Core capability 1]
- [Core capability 2]
- [Core capability 3]

## Who We Serve
- [ICP description 1]
- [ICP description 2]

## Pricing
- [Plan name]: $X/month — [what's included]
- Free trial: [yes/no, details]

## How We Compare
- vs [Competitor A]: [factual 1-sentence comparison]
- vs [Competitor B]: [factual 1-sentence comparison]

## Key Pages
- Homepage: https://yourdomain.com
- Pricing: https://yourdomain.com/pricing
- Free trial: https://yourdomain.com/signup

## Contact
Email: hello@yourdomain.com

What to avoid

  • Marketing language: Phrases like "industry-leading," "best-in-class," or "revolutionary" are filtered out by AI engines as marketing noise. Use factual, specific language.
  • Outdated pricing: If your llms.txt says $49/month and you now charge $79/month, AI engines will cite the wrong number. Update it the same day you change pricing.
  • Vague feature descriptions: "Powerful analytics dashboard" tells AI nothing. "Exact #1/#2/#3 position rankings per query per AI engine" is citable.
  • Missing comparison section: Comparisons are among the most common commercial queries AI engines answer. If your llms.txt doesn't include them, the AI will construct comparisons from other sources — with less accuracy.

How to verify AI engines are reading your llms.txt

After publishing your llms.txt, wait 2-4 weeks, then query AI engines directly about your brand. Ask: "How does [your brand] describe itself?" or "What does [your brand] do?" If the AI's answer closely matches your llms.txt language, it's been indexed. If the answer is off or outdated, the llms.txt may not have been crawled yet — or the competing signal (old content) is still winning.

Tracking this systematically — across ChatGPT, Perplexity, Gemini, and Claude — is exactly what Surfedo measures. The free scan at surfedo.com/scan shows you how each engine currently describes and ranks your brand.

Check how AI engines currently describe you

Free scan — see your exact AI ranking and how each engine describes your brand. No card required.

Run free scan →

Frequently asked questions

It's an emerging community standard, not an official W3C or IETF specification. It was proposed in 2024 by Answer.AI and has been adopted by a growing number of AI-focused companies. OpenAI, Anthropic, and Perplexity have not officially documented support for it, but crawlers from these companies do access files at this path. Think of it as early-mover infrastructure — the cost of creating it is low and the upside of being early is real.

No — they serve different purposes. robots.txt controls crawler access (what to crawl or not crawl). llms.txt provides context about your brand to AI models that have already decided to crawl you. Both can coexist and you should have both. Your robots.txt should explicitly allow GPTBot, ClaudeBot, PerplexityBot, and GoogleOther if you want AI engine visibility.

Whenever anything material changes: pricing, feature set, target audience, key comparisons. At minimum, review it quarterly. The most common mistake is writing it once and leaving it to go stale — especially on pricing, which AI engines cite frequently and buyers rely on.

Related reading
How to Get Cited by ChatGPT: 7 Tactics That Actually Work
Read post →
FAQ Schema for AEO: How Structured Data Gets You Cited
Read post →