Free tool
AI crawler robots.txt checker
Paste a robots.txt and see, crawler by crawler, which AI training bots, AI search bots and user-triggered fetchers it allows or blocks, and which of those blocks cost you citations.
Runs entirely in your browser. Nothing you paste leaves this page, and nothing is stored.
How to read the result
Every crawler lands in one of three lanes, and a block means something different in each:
- Search. The crawler builds the index an AI engine answers from. Blocking it is how sites vanish from ChatGPT search, Claude and Perplexity citations. A search-lane block is almost always a mistake unless you mean to leave that engine entirely.
- User fetch. The agent fetches a page live because a person asked about it. Vendors disagree on whether robots.txt binds these: Anthropic says Claude-User honours it, OpenAI says the rules “may not apply” to ChatGPT-User, and Perplexity says Perplexity-User “generally ignores” them. The checker shows the verdict your file would give and quotes each vendor’s position next to it.
- Training. Blocking opts your content out of future model training. For most sites this is the low-cost block: it does not remove you from that vendor’s answers, because answers come from the search lane.
The reasoning behind the lanes, with the citation-share evidence, is in AI crawler decisions.
What the checker catches
- The inheritance trap. A crawler with its own
User-agentgroup ignores everything underUser-agent: *. The classic case gives OAI-SearchBot anAllow: /group and silently lets it into/wp-admin/and every sort-parameter URL. The checker lists every*disallow that no longer applies. - Tokens that match nothing.
User-agent: ChatGPTorUser-agent: Claudeblock no real crawler. No vendor publishes those tokens, so the rule gives a false sense of control. - Search-lane blocks, including a
Googlebotblock, which removes a site from Google Search and its AI features at once. Google publishes no token that blocks AI Overviews alone. - Rules outside any group, which every crawler ignores, and a missing
Sitemap:line.
How matching works
The checker applies the rules of RFC 9309, the robots.txt standard. User-agent matching is case-insensitive. Every group that names a crawler is combined, and the * group is used only when none does. The longest matching path rule wins, and Allow wins a tie. * matches any run of characters and a trailing $ anchors the end of the URL. Paths are case-sensitive, so /Blog/ and /blog/ are different rules.
Like Google’s open-source parser, it reads only the leading letters, hyphens and underscores of a User-agent value. That makes GPTBot/1.2 equivalent to GPTBot. Parsers that compare the whole value exactly would not match it, so write the bare token.
What it cannot tell you
robots.txt is a request, not a lock. The checker reports what a compliant crawler should do, not what arrives at your server. To see which bots actually visit, check your server or CDN logs for these user-agents, and verify them against each vendor’s published IP ranges, because some crawlers impersonate others. Common Crawl, for one, warns of “crawlers falsely identifying themselves as CCBot” (Common Crawl).
Every crawler it checks
Taken from each vendor’s own documentation, last verified September 27, 2026. Vendors add and rename tokens. If one here is out of date, report it.
| Token | Vendor | Lane | What it does |
|---|---|---|---|
GPTBot | OpenAI | Training | OpenAI: disallowing GPTBot "indicates a site's content should not be used in training generative AI foundation models." Source |
OAI-SearchBot | OpenAI | Search | OpenAI: sites that opt out "will not be shown in ChatGPT search answers." Source |
ChatGPT-User | OpenAI | User fetch | OpenAI says robots.txt rules "may not apply" because these fetches are started by a user. Source |
ClaudeBot | Anthropic | Training | Collects content that could contribute to model training. Anthropic says its bots honour robots.txt. Source |
Claude-SearchBot | Anthropic | Search | Crawls "to improve search result quality" for Claude users. Source |
Claude-User | Anthropic | User fetch | Anthropic states its bots, Claude-User included, honour robots.txt, so a block here does apply. Source |
Googlebot | Search | Controls Google Search "and all Google Search features". There is no separate token for AI Overviews, so blocking this removes you from Search entirely. Source | |
Google-Extended | Training | A control token, not a crawler. Covers Gemini training and grounding in Gemini Apps and Vertex AI. Google: it "does not impact a site's inclusion in Google Search nor is it used as a ranking signal". Source | |
PerplexityBot | Perplexity | Search | Surfaces and links sites in Perplexity results. Perplexity says it "is not used to crawl content for AI foundation models." Source |
Perplexity-User | Perplexity | User fetch | Perplexity: "this fetcher generally ignores robots.txt rules." A block here is unlikely to stop it. Source |
Applebot | Apple | Search | Powers Spotlight, Siri and Safari search, and may provide content for AI-generated answers in Apple products. Source |
Applebot-Extended | Apple | Training | A control token that does not crawl. It opts content out of training Apple's foundation models. Source |
meta-externalagent | Meta | Training | Meta: crawls "for use cases such as training AI models or improving products by indexing content directly." Source |
MistralAI-Training | Mistral | Training | Builds datasets for training Mistral models; "not used for search indexing or to answer live user queries". Source |
MistralAI-Index | Mistral | Search | Indexes content for Mistral search in Vibe. Mistral says this content is not used for training. Source |
MistralAI-User | Mistral | User fetch | Mistral: this token "governs which sites these user requests can be made to." Source |
CCBot | Common Crawl | Training | Builds Common Crawl's open repository of web crawl data, which other organisations reuse. Grouped under training here because it is a dataset, not an answer engine. Source |