Autonomous Agentic AI Pipeline

Free tool, nothing leaves your browser

Robots txt checker that shows which rule won and why

Paste a robots.txt, pick a crawler, and test any path against it. Most checkers answer allowed or blocked and stop there. This one names the rule that decided it, prints the priority arithmetic behind the decision, and tells you when a rule you wrote is one Google ignores.

The matcher follows RFC 9309 and the behaviour in Google's own open source parser, where the docs' wording is easy to read the wrong way. It passes all six of the precedence examples Google publishes, including the tie case most tools get wrong. The conformance suite is on this page.

  • 39conformance tests passing, including Google's six documented examples
  • 20,703real rules parsed from 83 major sites to test this parser
  • 39of 83 sites now name an AI crawler by user agent
  • 15still use crawl delay, which Google ignores entirely

01Test a path against a robots file

Paste the robots.txt, name the crawler, and give the path you want to test. The path is everything after the host, starting with a slash, and the query string counts. Nothing is uploaded. The parser runs in your browser, and nothing you paste or type ever leaves it. The page's own traffic is a first-party count sent once when it opens and once if you click a checkout link, and neither request carries anything you entered.

Type a domain and the file is fetched over https and loaded below. Or skip this and paste a file yourself.

Parsing happens in your browser. The one thing a browser cannot do is read another site's file, so the fetch button calls a small relay endpoint the author of this site runs on workers.dev. It requests exactly one path, /robots.txt, over https, follows at most five redirects and refuses private address space.

Nothing you type is stored, and the paste box works with no fetch at all.

02The rule that decides is the longest pattern, not the first line

Two things about precedence surprise people, and both change the answer.

The first is that order does not matter. RFC 9309 says the most specific match must be used, and the most specific match is the one with the most octets. A disallow on line two does not beat an allow on line ten. The longer pattern wins wherever it sits in the file.

The second is the tie. When an allow and a disallow score the same, the allow wins. Google's parser only treats a path as blocked when the disallow priority is strictly greater than the allow priority, so equal scores fall through to allowed.

the arithmeticgoogle/robotstxt robots.cc

priority   = length of the pattern string, wildcards included
blocked    = disallowPriority > allowPriority        # strict, ties go to allow
no pattern = priority 0, which counts as no rule at all

allow: /page      disallow: /*.ph      path /page.php5
       5 octets            5 octets    tie, so ALLOWED

That last example is Google's own, and it is where the docs' wording and the parser's arithmetic pull apart. The docs describe the winner as the rule that "matches more characters in the URL", which reads as counting characters against the URL, while the parser measures the pattern string itself, wildcards included. Measured that way, /page and /*.ph both score five and the tie goes to allow, which is also how Google's current spec resolves it, calling equal rules conflicting and applying the least restrictive one.

All six of Google's published examples resolve under the parser's reading, which is the reading the tool above uses. You do not need to check that yourself. Section 05 lists all six as test cases with their results.

03A group written for your crawler replaces the star group completely

This is the rule that catches people with real sites. If a robots.txt contains a group naming your crawler, that group is the only one that applies. The * group is not merged in, not inherited, and not used as a fallback for paths the specific group does not mention.

So a specific group holding a single unrelated rule silently switches off every restriction in the star group for that crawler. Google states it plainly, that user agent specific groups and global groups are not combined, and the parser backs it up by returning allowed without ever reading the global priorities once a specific group has matched.

It is not a theoretical problem. Re-fetching the census hosts on 2026-08-29 and testing each file's own rule patterns as the paths, googlebot's verdict differed from what the star group alone would say 167 times across 7 sites, among them nytimes.com, imdb.com, yelp.com, reuters.com and wsj.com. The re-test file is published beside this page. A checker without a user agent field cannot show you this, and most quick checkers skip that field.

Googlebot group verdict vs star group verdict, differences per site, re-test of 2026-08-29
HostVerdict differences
nytimes.com88
yelp.com58
indeed.com16
wsj.com2
imdb.com1
jstor.org1
reuters.com1

04What 83 major sites actually put in their robots file

To test the parser against real input rather than invented cases, 93 well known hosts were fetched on 2026-08-24. 83 returned a body, and those files hold 20,703 rules across 1,023 groups. One of the 83, linkedin.com, answered with an HTML page rather than a robots file, so its snapshot contributes zero rules. The raw result is published beside this page.

Robots.txt across 83 major sites, captured 2026-08-24
MeasureValue
Sites returning a robots.txt body83 of 93 attempted
Allow and disallow rules parsed20,703
User agent groups1,023
Rules using the * wildcard4,218
Rules using the $ end anchor9,017
Sites declaring at least one sitemap62 of 83
Sites still using crawl delay15 of 83, ignored by Google
Sites naming an AI crawler39 of 83
Largest filefigma.com at 380,638 bytes
Files over Google's 500 KiB limit0

Two numbers in that table are worth stopping on. 15 of the 83 sites still set a crawl delay, a directive Google has never supported and ignores completely, so those lines do nothing for Googlebot. And 39 sites now name at least one AI crawler in a user agent line, which was a rare thing to see two years ago.

AI crawler tokens named in user agent lines, by number of user agent lines
Crawler tokenUser agent lines naming it
perplexity36
ccbot30
claudebot29
gptbot29
google-extended25
omgili25
meta-externalagent24
bytespider23
anthropic22
amazonbot21
applebot-extended21
cohere19

Naming a crawler is not the same as blocking it. Some of these groups carry an allow rule rather than a disallow, and this count is a token match on the user agent line, nothing more. A site that lists two variants of one operator, PerplexityBot and Perplexity-User for instance, counts twice in this table, so a token's line count can run higher than the number of distinct sites naming it.

05The conformance suite this parser passes

A checker that cannot show its own test results is asking to be trusted rather than verified. These are the cases the matcher on this page is tested against, and all 39 pass. The six marked as Google's are the precedence examples published in Google's specification.

Conformance suite, all 39 cases passing
CaseSourceResult
G1 /pageGoogle'spass
G2 /folder/page allow=disallow /folderGoogle'spass
G3 /page.htm allow:/page vs disallow:/*.htmGoogle'spass
G4 /page.php5 allow:/page vs disallow:/*.phGoogle'spass
G5 / allow:/$ vs disallow:/Google'spass
G6 /page.htm allow:/$ vs disallow:/Google'spass
/fish matches /fishspecpass
/fish matches /fish.htmlspecpass
/fish matches /fishheadsspecpass
/fish not /Fish.aspspecpass
/fish not /catfishspecpass
/fish not /desert/fishspecpass
/fish/ matches /fish/salmon.htmspecpass
/fish/ not /fishspecpass
/fish/ not /animals/fish/specpass
/*.php$ matches /filename.phpspecpass
/*.php$ not /filename.php?x=1specpass
/*.php$ not /filename.php/specpass
/*.php$ not /filename.php5specpass
/*.php matches /folder/any.php.file.htmlspecpass
/*.php not /windows.PHP (case)specpass
/fish*.php matches /fishheads/catfish.php?xspecpass
/fish*.php not /Fish.PHPspecpass
specific group wins (googlebot /c allowed)specpass
specific group blocks its own rulespecpass
unknown bot falls back to *specpass
googlebot-news uses its own groupspecpass
googlebot-news NOT blocked by * rulespecpass
sitemap does not terminate group, a blockedspecpass
sitemap does not terminate group, b blockedspecpass
empty disallow allows allspecpass
rule before user-agent discardedspecpass
no groups at all allowsspecpass
trailing rule-less group allowsspecpass
DISALOW typo honouredspecpass
missing colon toleratedspecpass
/*.php$ matches /a.php.php (repeated tail)robots.ccpass
/*.git$ matches /foo.git/bar.gitrobots.ccpass
/*$ matches every path (/x)robots.ccpass

06Lines Google reads and lines Google throws away

Google's parser recognises exactly four fields. Everything else is discarded silently, which is why a robots.txt can look carefully written and still do nothing.

What Google's parser does with each field
FieldGoogleDetail
user-agentreadSelects the group. Matching is case insensitive.
allowreadPath rule. The value is case sensitive.
disallowreadPath rule. The value is case sensitive.
sitemapreadNot tied to any group and must be a fully qualified URL.
crawl-delayignoredNever supported by Google. Return 429, 500 or 503 to slow it down.
noindexignoredStopped working on 1 September 2019. Use a noindex meta tag on the page.
nofollowignoredNot a robots.txt directive. Use a link or meta level attribute.
hostignoredNot part of the protocol Google implements.

Two of those deserve a plain statement. crawl-delay has never been supported by Google, and the way to slow Googlebot down is to return a 429, 500 or 503, or to use the rate limit form in Search Console.

noindex in robots.txt stopped working on 1 September 2019, and a page you want out of the index needs a noindex meta tag on the page itself, which means the page must stay crawlable for Google to ever see it.

Read before trusting any verdict above

07What this checker cannot tell you

The tool answers one narrow question, whether a given crawler may fetch a given path under the rules you pasted. It does not answer any of these.

  • LIMITAllowed does not mean indexed, and blocked does not mean absent from search. Google can index a URL it never crawled if other pages link to it, and will show it without a snippet.
  • LIMITThis tests the rules you paste. It cannot fetch your live file, so a stale paste gives a stale answer. Google also caches robots.txt for around 24 hours, so a file you fixed a minute ago is not the file being enforced yet.
  • LIMITRules apply only to the exact host, protocol and port serving the file. A robots.txt on https example.com does not govern the http version, a subdomain, or a non standard port.
  • LIMITThe matcher follows Google's semantics. Bing, Yandex and other crawlers differ, and some honour crawl delay that Google discards. A verdict here is a verdict about Googlebot.
  • LIMITRule patterns are normalized the way Google normalizes them, uppercase hex escapes and percent-encoded non ASCII, before matching. The path is compared as typed, so paste it in the encoded form the crawler would request.
  • LIMITrobots.txt is not access control. Listing a path publishes that the path exists, and a crawler that ignores the file is unaffected by anything here.
  • LIMITNo ranking, indexation, traffic, or revenue outcome is promised by this site or by the product it sells. Getting a robots.txt right removes an obstacle. It does not produce a result.
  • LIMITNo end to end run from intake through indexation has been completed by anyone, including the seller, and there are currently no customers, so there are no reviews and no case studies.
  • LIMITThe sixty day refund covers whether the software is what this site describes and whether it runs, and never whether a search engine chose to index or rank anything built with it.

08Where these rules come from

By Michael Lip, who fetched and published the census on this page and wrote the conformance suite the parser passes.

Every behaviour in the matcher traces to one of four primary sources, and the census file is published so the figures above can be recomputed rather than believed.

  • SPECRFC 9309, the Robots Exclusion Protocol, for the most specific match rule, the tie behaviour, group selection and the 500 KiB parsing floor.
  • SPECGoogle's robots.txt specification, for the four supported fields, the wildcard table, the six precedence examples and the HTTP status handling.
  • CODEgoogle/robotstxt, the production matcher, for the detail the prose gets wrong, that priority is the length of the pattern string and that ties fall through to allow.
  • DATAThe census file, every figure in section 04, fetched 2026-08-24 and published unmodified.

This page was built by the pipeline it sells

The tool and the census on this page are what the pipeline produces. It refuses a keyword already saturated by an AI Overview, it will not let a page state a number that code did not compute, and it blocks a page that only restates what already ranks. It runs on your machine, there is no hosted service and no account, and you pay once.

Sixty day refund. Nothing about traffic, rankings or indexation is promised here or anywhere else on this site.