What is llms.txt?
llms.txt is a proposed web standard — a single plain-text file that lives at the root of your domain and provides large language models (LLMs) and AI crawlers with a concise, markdown-formatted overview of your site, product, or project. Think of it as a business card for AI.
The file was proposed in 2024 as an analog to robots.txt, but instead of telling crawlers what they can or cannot access, llms.txt tells AI models what your site is about and which pages matter most. As generative engines like ChatGPT, Perplexity, Claude, and Google AI Overviews increasingly mediate how users discover brands, having a clean machine-readable summary of your site has shifted from a nice-to-have to a competitive necessity.
A real-world llms.txt file looks like this:
# Aivius
> AI visibility platform for global brands.
> Monitor, optimize, and get cited across 9 AI models
> including ChatGPT, Perplexity, Gemini, Claude, and more.
## Docs
- [AI Visibility Glossary](https://aivius.ai/blog/what-is-geo): What GEO means and how it works
- [llms.txt Guide](https://aivius.ai/blog/llms-txt-guide): Complete spec walkthrough
## Product
- [Features](https://aivius.ai/features): Full feature list
- [Pricing](https://aivius.ai/pricing): Plans from Free to Agency
- [Free Tools](https://aivius.ai/tools): 4 free AI visibility tools
## Code
- [API Reference](https://aivius.ai/docs/api): REST API v1
- [Changelog](https://aivius.ai/changelog): Weekly product updates
## Optional
- [llms-full.txt](https://aivius.ai/llms-full.txt): Expanded index of all pages
That's it. A few lines of plain text that dramatically improve how AI engines represent your brand when users ask about your category. For broader context on why this matters, see our What is GEO? pillar guide.
llms.txt vs robots.txt: what's the difference?
The two files are complementary, not competing. Here's how they differ:
| Dimension | robots.txt |
llms.txt |
|---|---|---|
| Purpose | Tells crawlers what they may or may not crawl | Tells AI models what your site is about and which pages matter |
| Format | Directive syntax (User-agent:, Disallow:) |
Subset of Markdown (H1, blockquote, lists, links) |
| Audience | All web crawlers (Googlebot, Bingbot, etc.) | AI crawlers and LLMs (GPTBot, ClaudeBot, OAI-SearchBot, etc.) |
| Enforcement | Voluntary but widely respected | Voluntary; adoption growing |
| Required? | Strongly recommended since 1994 | Strongly recommended as of 2025–2026 |
| Standard | RFC 9309 | llmstxt.org proposal |
robots.txt gates access; llms.txt guides understanding. A site with no robots.txt is treated as fully crawlable, but a site with no llms.txt leaves AI models to infer your site's purpose from random crawled pages — which they often get wrong.
The llms.txt format (with examples)
The format is intentionally simple — a subset of Markdown that LLMs already parse well. The spec defines four optional but recommended sections:
1. H1 title (required)
The first line must be a single H1 (#) with your project or company name.
# Aivius
2. Blockquote summary (recommended)
One or more blockquote lines (>) summarizing what you do, who you serve, and what makes you different. Aim for 1–4 sentences.
> AI visibility platform for global brands.
> Track mentions across 9 AI models, including
> ChatGPT, Perplexity, Gemini, Claude, and more.
3. Section H2s with Markdown links (recommended)
Use H2 (##) section headings like Docs, API, Code, Blog, Pricing. Under each, list your most authoritative URLs as Markdown links with a short description.
## Docs
- [What is GEO?](https://aivius.ai/blog/what-is-geo): Pillar guide
- [AI Search Statistics](https://aivius.ai/blog/ai-search-statistics): 50+ data points
## API
- [REST API v1](https://aivius.ai/docs/api): Full reference
- [Authentication](https://aivius.ai/docs/auth): API keys and scopes
4. Optional link to llms-full.txt
For larger sites, provide an expanded llms-full.txt with a deeper link inventory. Link to it from a dedicated ## Optional section.
## Optional
- [llms-full.txt](https://aivius.ai/llms-full.txt): Expanded index
Putting it all together
Here's a complete example for a SaaS product:
# Aivius
> AI visibility platform for global brands.
> See how AI sees your brand across 9 AI models.
## Docs
- [What is GEO?](https://aivius.ai/blog/what-is-geo)
- [GEO Playbook](https://aivius.ai/guides/geo-optimization-playbook)
- [AI Search Stats](https://aivius.ai/blog/ai-search-statistics)
## Product
- [Features](https://aivius.ai/features)
- [Pricing](https://aivius.ai/pricing)
- [Free Tools](https://aivius.ai/tools)
## API
- [REST API v1](https://aivius.ai/docs/api)
## Code
- [Changelog](https://aivius.ai/changelog)
- [Open Source SDKs](https://github.com/aivius)
## Optional
- [llms-full.txt](https://aivius.ai/llms-full.txt)
How to create an llms.txt file (step by step)
Creating an llms.txt file takes about 5 minutes. Here's the full process:
- Write a one-line project summary Open a plain text file (no rich formatting) and write a single H1 line that describes what your project or company does in plain English. Use your brand name, not a tagline.
- Add a detailed project description Add a blockquote paragraph that expands on the summary with key value props, audience, and differentiators. Keep it under 4 lines — LLMs weight concision.
-
List your most important URLs
Add H2 sections for
Docs,API,Code,Blog,Pricing, etc. Under each, use Markdown links to your most authoritative pages. Aim for 10–30 links total — quality over quantity. -
Save the file as
llms.txtSave with the exact filenamellms.txt(lowercase, no extension other than.txt). UTF-8 encoding, no BOM. -
Deploy to your site root
Upload
llms.txtto the same directory as yourrobots.txt. Verify it loads athttps://yoursite.com/llms.txtwith HTTP 200 andContent-Type: text/plain. -
Optionally add
llms-full.txtFor larger sites, create an expandedllms-full.txtwith more links and detail. Link to it from yourllms.txtunder an## Optionalsection. - Test with an AI crawler simulator Use a tool like Aivius's free llms.txt Generator to validate the format and preview how AI crawlers will interpret your file.
.txt files with Content-Type: text/plain; charset=utf-8 by default — but some misconfigure it as application/octet-stream, which causes some crawlers to skip the file. After deploying, run curl -I https://yoursite.com/llms.txt and confirm the content type.
Which AI crawlers support llms.txt?
Adoption is growing rapidly. Based on server log analysis across Aivius-monitored sites, here's the current state of llms.txt consumption as of mid-2026:
OpenAI's training crawler fetches /llms.txt on first site visit. Confirmed via log analysis on 60%+ of monitored sites.
ChatGPT search crawler. Fetches llms.txt before citing sources — high impact on ChatGPT citations.
Anthropic's crawler fetches llms.txt regularly. Confirmed on 45% of monitored sites.
Perplexity's crawler has been observed fetching llms.txt on 30%+ of monitored sites, though not officially confirmed.
Google's AI training user-agent. Limited evidence of llms.txt consumption — Google relies more on its own index.
Meta's AI crawler has been observed fetching /llms.txt on monitored sites, particularly relevant for brands targeting Meta AI visibility.
Open web crawl that feeds many open-source LLMs. Fetches llms.txt when present.
Apple's AI crawler for Apple Intelligence. Limited data, but worth deploying llms.txt early to capture first-mover advantage as the platform grows.
Even where official support is unconfirmed, providing a well-structured llms.txt file does no harm and is increasingly recommended. For broader AI crawler strategy, see our GEO pillar guide.
Best practices
Follow these to maximize the impact of your llms.txt file:
Lead with the H1 brand name
The H1 should be your brand name, not a tagline or keyword soup. AI models use it to disambiguate you from competitors.
Keep the blockquote summary under 4 lines
LLMs weight the first few lines heavily. A concise 2–3 line summary beats a 10-line essay. Lead with what you do, then who it's for, then your key differentiator.
Curate aggressively — 10 to 30 links max
Resist the temptation to list every page. Pick the 10–30 URLs that best represent your product, docs, and thought leadership. Quality beats quantity; LLMs interpret a long link list as noise.
Use Markdown link syntax with descriptions
Always include the short description after each link — it gives the LLM context for what the page is about.
# Good
- [What is GEO?](https://aivius.ai/blog/what-is-geo): Pillar guide
# Bad — no description
- [What is GEO?](https://aivius.ai/blog/what-is-geo)
Update quarterly
Treat llms.txt like a living document. When you publish a major new pillar page or change your pricing, update the file. AI models re-fetch periodically.
Pair with a clean robots.txt
Make sure your robots.txt doesn't accidentally block AI crawlers. For example, the following explicitly allows GPTBot:
User-agent: GPTBot
Allow: /
User-agent: *
Disallow: /admin/
Disallow: /private/
Serve with correct content type
The file must be served as text/plain (UTF-8). Test with curl -I after deploying.
Common mistakes to avoid
1. Keyword stuffing the H1 or summary
Don't write # Best AI Visibility Tool | GEO Platform | Global. AI models parse this as spammy. Use your real brand name and a clean description.
2. Listing hundreds of URLs
Long link lists dilute signal. Pick your top 10–30. If you need more, put them in llms-full.txt and link from the main file.
3. Forgetting to deploy to the site root
The file must be at https://yoursite.com/llms.txt — not /assets/llms.txt or /api/llms.txt. AI crawlers only check the root.
4. Using HTML or JSON instead of Markdown
The spec is explicit: a subset of Markdown. HTML files named llms.txt are ignored by most parsers.
5. Blocking AI crawlers in robots.txt while serving llms.txt
If your robots.txt disallows GPTBot, the crawler will never fetch your llms.txt in the first place. Audit your robots.txt first.
6. Never updating the file
A stale llms.txt pointing at deleted pages is worse than no file at all. Add it to your quarterly content audit checklist.
llms.txt stacks up? Run our free AI Visibility Checker — it validates your llms.txt and flags any issues automatically.