robots.txt Tester
BetaTest paths and URLs against a robots.txt for Googlebot, GPTBot or any crawler. See the rule, line and group behind each verdict. Runs in your browser.
- Free, no sign-up
- REST + MCP
- Updated
- Reviewed by Olgun Ozoktas
Tests the robots.txt you paste; it does not fetch your live site. robots.txt is a request to crawlers, not access control.
Runs in your browser · nothing uploadedrobots.txt
Start with your live file
Open yoursite.com/robots.txt, copy everything and paste it here. Or load the sample to see how groups, Allow/Disallow precedence and wildcards are resolved.
User agent
Pick one crawlerPaste a robots.txt to see which group Googlebot uses
Longest matching rule wins. On a tie, Allow wins (RFC 9309).
No results yet
Each tested path gets a verdict with the rule, line number and group that decided it, plus a summary of groups, sitemaps and crawl-delay.
Why Use a robots.txt Tester?
robots.txt Tester checks paths and URLs against a robots.txt file for the crawler you choose. It follows RFC 9309, the Robots Exclusion Protocol, the way Google applies it. The file is split into groups, each starting with one or more User-agent lines. The crawler uses the group whose User-agent matches its product token, combining every group that names it, and falls back to the * group only when no group names it. Inside that group, every Allow and Disallow pattern is compared with the path. The longest matching pattern decides the verdict, and when an Allow and a Disallow of the same length both match, Allow wins. A path that no rule matches is allowed.
Patterns support two wildcards. * matches any sequence of characters, including none, and $ at the end of a pattern means the path must end there. Paths are compared after percent-encoding is normalised, so /caf%C3%A9 and /café are treated alike. The file /robots.txt itself is always allowed. A full URL is reduced to its path and query string before testing, and a #fragment is ignored.
Every verdict shows the rule that decided it, the line it is on and the group the crawler followed, and the table notes when a longer rule overrode a shorter one. Lines that crawlers skip, such as unknown directives, lines without a colon, Noindex lines and Sitemap lines with a relative URL, are listed with their line numbers and highlighted in the file. The summary counts the groups, the sitemaps and the Crawl-delay that applies to the chosen crawler.
The tester reads only what you paste. It does not fetch your live robots.txt and it does not crawl your site. To write a new file, use the robots.txt Generator. For AI assistants you can also publish an llms.txt with the llms.txt Generator, and you can check the sitemap your robots.txt points to with the Sitemap Validator.
How it compares
Google Search Console has a robots.txt report. It shows the robots.txt files Google found for your verified site, when Google last fetched them and any problems it had parsing them. That report is the authority on what Google actually fetched from your live site, and it only covers Google. This tester works on any text you paste, before it is published, and tests it as any crawler token, including Bingbot, GPTBot and ClaudeBot. It shows the rule, line and group behind each verdict, so you can see why a URL is blocked. Use this tester to check a change before you deploy it, and use Search Console to confirm what Google fetched afterwards.
Tips for Testing robots.txt
- Test the agent you care about by name. A crawler with its own group ignores the * group, so testing only as * can hide a problem.
- Put all rules for one crawler in one group. Several groups naming the same crawler are combined, which is easy to miss when you read the file top to bottom.
- Use $ to anchor the end of a path: Disallow: /*.pdf$ blocks /report.pdf but not /report.pdf?download=1.
- Remember that Disallow: with an empty value allows everything, and Disallow: / blocks everything.
- To keep a page out of search results, allow crawling and use a noindex meta tag or X-Robots-Tag header. A crawler that cannot fetch the page never sees the noindex.