Spec + AI crawler reference
llms.txt Explained: The Complete Guide + Free Generator
llms.txt is a proposed plain-text file, published at your site's root, that gives AI systems a concise, structured summary of what your site is and where its key pages live. This guide covers the exact specification, a full reference table of every major AI crawler (not just the three most people check), and a free generator at the bottom of this page.
The llms.txt specification, exactly
llms.txt (see the proposal at llmstxt.org) is a Markdown file served at /llms.txt. The format is simple and specific:
- An optional byte-order mark.
- An H1 heading, the only required section. This is your site or project name, written as a single Markdown H1 line (
# Your Site Name). - An optional blockquote directly after the H1: a one-line summary of what the site is.
- Optional free-text body content.
- Optional H2 sections, each containing a bullet list of Markdown links in the form
- [page title](url): short note, grouping your key pages (docs, pricing, API reference, etc).
That's the entire spec. It's intentionally minimal: the H1 is the only hard requirement, everything else is there to help an AI system navigate your site faster than parsing full HTML. Our AI Visibility Checker checks for exactly this: does the file exist, and does it start with a valid H1.
Full reference: every AI crawler this tool checks
Most llms.txt and AI-crawler guides list three bots. Here are all 16 this tool checks, individually, against your robots.txt file, with what each one is used for and whether it's documented to respect a Disallow rule.
| Bot | Company | Purpose | Respects robots.txt | Source |
|---|---|---|---|---|
| GPTBot | OpenAI | Training data for future GPT models | Not checked | developers.openai.com/api/docs/bots |
| OAI-SearchBot | OpenAI | Indexing for ChatGPT search results | Not checked | developers.openai.com/api/docs/bots |
| ChatGPT-User | OpenAI | Live fetch when a ChatGPT user clicks a citation | Not checked | developers.openai.com/api/docs/bots |
| ClaudeBot | Anthropic | Training data for Claude models | Not checked | Anthropic support documentation (industry coverage, not first-party fetched this round) |
| Claude-User | Anthropic | Live fetch when a Claude user asks a question | Not checked | Anthropic support documentation |
| Claude-SearchBot | Anthropic | Indexing for search result quality | Not checked | Anthropic support documentation |
| PerplexityBot | Perplexity | Indexing | Not checked | docs.perplexity.ai/guides/bots |
| Perplexity-User | Perplexity | Live agent fetch on the user's behalf | Not checked | Disputed: Perplexity claims this is an agent, not a bot, and therefore not bound by robots.txt (community/publisher reporting, not unambiguously confirmed by Perplexity itself) |
| Google-Extended | AI training token for Gemini/Vertex AI (separate from search indexing) | Not checked | Google Search Central (industry coverage of the token list, not first-party fetched this round) | |
| Applebot-Extended | Apple | AI training token for Apple Intelligence (same mechanism as Google-Extended) | Not checked | Apple support (industry coverage) |
| Bytespider | ByteDance (TikTok) | Training data | Not checked | Often ignored in practice according to several independent sources; Disallow should still be respected when it is actually read |
| CCBot | Common Crawl (non-profit) | Open web database: the foundation for many open-source LLMs' training data | Not checked | commoncrawl.org/ccbot |
| Meta-ExternalAgent | Meta | Training data for Meta AI/Llama (replaces the old FacebookBot/MetaAIBot names) | Not checked | Meta for Developers (industry coverage) |
| Meta-ExternalFetcher | Meta | User-initiated fetch (the Meta AI assistant) | Not checked | Newer token, less documented; verify again at the next review |
| Amazonbot | Amazon | Alexa/Kindle/Amazon Shopping product improvement | Not checked | developer.amazon.com/amazonbot |
| DuckAssistBot | DuckDuckGo | AI assistant answers | Not checked | Lower source depth this round; verify against DuckDuckGo's own documentation at the next review |
Bot database last verified 2026-08-25 · Compilation: OpenAI/Anthropic/Perplexity/Google official documentation + industry references (see per-bot source)
The robots.txt block to allow all of them
If you want to explicitly allow every AI crawler in the table above, add this to your robots.txt (adjust if you want to keep specific ones out, for example if you don't want your content used for a particular company's model training):
User-agent: GPTBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Applebot-Extended
Allow: /
User-agent: CCBot
Allow: /
User-agent: Meta-ExternalAgent
Allow: /
User-agent: Amazonbot
Allow: /
Run the AI Visibility Checker afterward to confirm the change took effect and see which, if any, bots are still blocked by a broader wildcard rule elsewhere in your file.
GPTBot and OpenAI's crawlers specifically
Because it's the single most-searched AI crawler by name, a quick note on GPTBot specifically: it's OpenAI's crawler for gathering training data for future GPT models, separate from OAI-SearchBot (which indexes pages for ChatGPT's search feature) and ChatGPT-User (which fetches a page live, on demand, when a ChatGPT user clicks through a citation). All three are documented by OpenAI to respect robots.txt, and all three can be allowed or blocked independently, since they're separate user-agent strings, not one combined bot. See OpenAI's own documentation for the current, authoritative list.
For the broader technical foundation these crawlers depend on (indexability, schema, sitemap), see our GEO guide, or check your own site directly on the homepage.
Generate your own llms.txt
Fill in your site name and a one-line summary below to generate a spec-valid llms.txt file you can copy and publish at your site root.
Save this as llms.txt in your site's root directory (e.g. https://yoursite.com/llms.txt).
Common llms.txt mistakes
The most common mistake is publishing the file without the required H1 line, for example starting directly with a blockquote or a paragraph. Per the spec, the H1 is the only mandatory section, and a file missing it is treated as invalid by this checker (a yellow, not red, signal, since the file at least exists). Other frequent issues: linking to pages that return a 404, listing so many links that the file loses its 'concise summary' purpose, and forgetting to update it after a major site restructure, since nothing will automatically flag a stale llms.txt the way a broken sitemap link sometimes does.
Frequently asked questions
Is llms.txt a real, official web standard?
Where exactly should llms.txt live?
Do I need both llms.txt and robots.txt?
Which AI crawlers should I never block?
What's the difference between GPTBot and Google-Extended?
Does adding llms.txt guarantee AI systems will cite my site?
Check whether these crawlers can actually reach your site
This reference table is static. Run the live checker to test your own domain.
Run the AI Visibility CheckerFree. No sign-up.