robots.txt Checker

Fetches a site's robots.txt, parses it, and tells you whether Googlebot and Bingbot may crawl a given path.

✨ Features

  • Fetches robots.txt from any site URL and lays out each User-agent group's Allow and Disallow rules
  • Tests any path against Googlebot, Bingbot and the catch-all (*) group
  • Uses the real matching logic: longest match wins, with wildcard (*) and end-anchor ($) support
  • Pulls out Sitemap and Crawl-delay directives and flags 404s, empty files and malformed lines

🪄 Use cases

Work out why a page is not indexed

Check whether that path is blocked by robots.txt in the first place.

Validate a change before shipping it

Make sure a new Disallow does not sweep up pages you wanted crawled.

Read another site's setup

Look at a published robots.txt and see what it keeps crawlers out of.

Confirm the Sitemap directive

Check that the sitemap URL really is referenced from robots.txt.

🔒 Privacy

The URL you enter is POSTed to this site's server so it can fetch that site's robots.txt once. Parsing then happens entirely in your browser, and neither the URL nor the file contents are stored. Because the target never appears in a query string, sharing this page's link never reveals what you checked — the only shareable URL is the tool's own. Fetches are limited to http and https, 5 seconds, 64KB and three redirects, and never reach localhost or private IP addresses.

❓ FAQ

Does blocking a page in robots.txt remove it from search results?

Not necessarily. robots.txt stops crawling, not indexing. If other sites link to the page, its URL can still appear in results with no description, because the crawler was never allowed to read it. To take a page out of results reliably, leave it crawlable and add noindex (a meta tag or an X-Robots-Tag header). Blocking it in robots.txt actually keeps it in, because the crawler can never see the noindex.

If Allow and Disallow both match, which wins?

Under RFC 9309, which Google and Bing follow, the rule with the longest matching path wins. Given Disallow: /private/ and Allow: /private/ok, the path /private/ok is allowed because the Allow matches 10 characters against the Disallow's 9, while /private/x only matches the Disallow and is blocked. When two rules match with exactly the same length, the more permissive Allow wins. None of this depends on the order the lines appear in the file.

How do * and $ work?

* matches any run of characters, so Disallow: /*? covers every URL containing a question mark and Disallow: /*.pdf covers every URL containing .pdf. $ is special only at the end of a rule, where it anchors the end of the URL: Disallow: /*.pdf$ blocks URLs ending in .pdf but leaves /a.pdf?x=1 alone. Neither is in the original 1994 specification, but every major search engine supports them.

What happens if robots.txt returns 404?

A 404 means "no restrictions", and crawlers proceed to crawl the whole site — not having a robots.txt is perfectly fine. Persistent 5xx errors are different: Google may err on the safe side and temporarily treat the entire site as disallowed. So if you do not want a robots.txt, return a clean 404 rather than a server error or a redirect loop.

🔗 Related tools

Fetch a robots.txt

You can paste any page URL — only that site's /robots.txt is fetched, once.

Can this path be crawled?

Type a path on the site (the part starting with /) to test it against the major crawlers.

Googlebot
-
Bingbot
-
* (other crawlers)
-

Verdicts follow the rule Google and Bing implement (RFC 9309): the longest matching rule wins, and Allow wins a tie. * matches any run of characters and a trailing $ anchors the end of the URL.

User-agent groups

No User-agent groups found

Sitemap

No Sitemap directive

Lines worth a look

No syntax problems found

robots.txt contents