Robots.txt Tester
Check whether a crawler like Googlebot or GPTBot may visit a page, and which line of robots.txt decides it.
Loading Robots.txt Tester… If nothing happens, please enable JavaScript.
A robots.txt file looks simple, but the way crawlers read it has a few rules that surprise almost everyone. A crawler does not combine its own group with the User-agent: * group: once a group names it, the general rules stop applying. Between Allow and Disallow, the order of the lines does not matter; the rule with the longest matching path wins, and when an Allow and a Disallow are the same length, Allow wins. Paths are case-sensitive, a * matches any run of characters, a $ at the end anchors the match to the end of the URL, and an empty Disallow blocks nothing. Since 2022 these rules are written down in RFC 9309, the Robots Exclusion Protocol standard that Google, Bing and most other large crawlers follow.
Frequently asked questions
If a crawler has its own group, does it still obey User-agent: *?
Allow and Disallow both match my URL. Which one wins?
How do * and $ work in robots.txt?
Are robots.txt paths case-sensitive?
Does blocking a page in robots.txt remove it from Google?
How do I block AI crawlers like GPTBot and ClaudeBot?
Why is /robots.txt always allowed?
How big can a robots.txt file be?
Why does my URL show a different path under it?
About Robots.txt Tester
This tester implements that standard directly in your browser. Paste your robots.txt, list the URLs or paths you care about, one per line, and pick a crawler: Googlebot and its image, news and video variants, Bingbot, Applebot, DuckDuckBot, YandexBot, the AI crawlers such as GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot and CCBot, link preview bots, SEO tools, or any custom token. For every path you get Allowed or Blocked, the exact rule that decided it with its line number, and the competing rule it beat, so a result like "blocked by Disallow: /*.pdf$ on line 5" is easy to trace. The file view highlights the group that applies to the chosen crawler and colours every line that was used.
The tester also points out problems that make a robots.txt behave differently from what its author intended: rules placed before any User-agent line, unknown or misspelled directives, full URLs where a path is expected, a UTF-8 byte order mark at the start, directives like Noindex that crawlers no longer honour, and files larger than the 500 KiB that Google reads. It lists the Sitemap lines and the Crawl-delay that applies, with a reminder that Google ignores Crawl-delay. Crawler-specific quirks are built in: Googlebot-Image falls back to the Googlebot group, Applebot follows Googlebot rules when it is not named, and the AdsBot and AdSense crawlers ignore the * group entirely. Nothing is fetched and nothing is uploaded, so you can test a draft before it goes live.
A standard that took 28 years to become one
Martijn Koster proposed the robots exclusion rules in February 1994 on the www-talk mailing list, after a badly behaved crawler overloaded his server at Nexor. By the end of June the robot authors of the time had agreed to follow it, and for the next quarter century the whole web relied on a convention that had never been formally standardised. Every search engine interpreted the edge cases a little differently, from wildcards to the length of the file.
In July 2019, on the 25th anniversary of the original proposal, Google submitted a draft to the IETF together with Koster and other search engines, and open-sourced the C++ parser that Googlebot had used for twenty years. The draft went through three more years of review and was published as RFC 9309 in September 2022. The core rules barely changed from 1994, but the RFC finally settled the questions people had argued about for decades: Allow is official, the longest match wins, and crawlers must read at least 500 KiB.