Free Tool

Free Robots.txt Tester - Check if a URL is Blocked

Free robots.txt tester and checker: fetch or paste a robots.txt, test any URL against Googlebot, Bingbot, GPTBot, ClaudeBot, or a custom agent, and see the exact rule that allows or blocks it.

The tool derives the origin from any URL you enter and fetches /robots.txt there. Then test any path against Googlebot, Bingbot, GPTBot, ClaudeBot, and more.

No signup required
Free forever
GDPR compliant
Powered by U2L

Quick Answer

A robots.txt tester tells you whether a specific URL is allowed or blocked for a specific crawler by parsing the site's robots.txt the way the crawler does. This one implements RFC 9309 matching in your browser: group selection by user agent, longest-match-wins with * and $ wildcards, Allow winning ties, and highlights the exact rule line and group that decided the result.

Quick Facts

  • Google retired its standalone robots.txt Tester in December 2023; the Search Console robots.txt report that replaced it only covers properties you have verified.
  • Per RFC 9309 and Google, the rule with the longest matching path wins; when an Allow and a Disallow match with equal length, the Allow applies.
  • Field names (User-agent, Disallow) are case-insensitive; path values are case-sensitive, so Disallow: /Admin does not block /admin.
  • Google reads at most 500 KiB of a robots.txt and ignores everything after that limit; it caches the file for up to 24 hours.
  • A 404 (any 4xx except 429) means no restrictions; a 5xx means RFC-compliant crawlers must assume complete disallow, and Google stops crawling for the first 12 hours.
  • Crawl-delay is not in RFC 9309 and Google ignores it; Bing honours it. Sitemap: lines are allowed anywhere in the file and must be absolute URLs.
  • robots.txt controls crawling, not indexing - a blocked URL can still appear in results if other pages link to it; use noindex to keep a page out.

How to test robots.txt for a URL

Fetch or paste, pick a crawler, test a path.

  1. 1

    Fetch the live file or paste one

    Enter any URL on the site - the tool derives the origin and fetches https://host/robots.txt - or switch to Paste robots.txt to test a draft before you deploy it.

  2. 2

    Review the validation list

    The parser reports the HTTP status and what it means for crawlers, file size against Google's 500 KiB limit, a BOM if present, rules outside a group, unknown directives, and every Sitemap: line found.

  3. 3

    Choose a user agent and a URL

    Pick Googlebot, Googlebot-Image, Bingbot, GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, Applebot, DuckDuckBot, Yandex, Baiduspider, or type a custom token. Enter a path such as /admin/ or a full URL on the same host.

  4. 4

    Read the verdict and the matching rule

    The result says Allowed or Blocked, shows which group was used (the specific user agent or the * fallback), and highlights the exact Allow or Disallow line that won in the raw file view.

What is a Robots.txt Tester?

Robots.txt Tester is a robots.txt checker that parses a site's robots.txt file and simulates a crawler's decision for a given URL and user agent, reporting Allowed or Blocked together with the rule that produced the answer. It replaces the retired Google robots.txt Tester and works on any site, not only ones you own.

robots.txt is the oldest access-control convention on the web, dating to 1994, and it was formalised as an IETF standard only in September 2022 with RFC 9309, the Robots Exclusion Protocol. The file lives at the root of an origin (scheme, host, and port), so https://example.com/robots.txt governs only that origin; http://example.com and https://shop.example.com each need their own. It consists of groups: one or more User-agent lines followed by Allow and Disallow rules, plus standalone Sitemap lines that any crawler may read regardless of group.

The rules look simple and are surprisingly easy to get wrong. A crawler picks exactly one group, the one whose user agent most specifically matches its own product token, and ignores every other group, including * once a specific match exists. Within that group, the path rule with the most matching characters wins, not the first rule in the file. Wildcards change match length in non-obvious ways. And because the file is fetched and cached by each crawler separately, a mistake can block Googlebot for a day before anyone notices in Search Console.

Google's own tester was the default way to check this for a decade, but it was retired in December 2023 and the replacement robots.txt report in Search Console only shows verified properties, reports fetch errors, and does not let you test an arbitrary URL against an arbitrary user agent. A standalone tester fills that gap: it works on competitor sites, staging drafts, and AI-crawler tokens like GPTBot and ClaudeBot that most site owners have only recently started writing rules for. Pair it with /tools/ai-robots-txt-generator to write the AI rules and /tools/sitemap-validator to check the sitemap the file points to.

How does a Robots.txt Tester work?

Fetching happens through U2L's stateless fetch-text endpoint, because a browser cannot read another site's robots.txt directly under CORS. The tool takes whatever URL you enter, reduces it to its origin, and requests /robots.txt at that origin; the endpoint follows up to five redirects, times out after 8 seconds, and returns the body (first 1 MB), the final URL, the HTTP status, and the content type. The status is interpreted the way crawlers interpret it: a 2xx body is parsed; any 4xx other than 429 is reported as no robots.txt, which Google treats as unrestricted crawling; a 5xx is reported as unreachable, which RFC 9309 says a crawler must treat as complete disallow and which Google handles by halting crawling for 12 hours, then using its cached copy for up to 30 days.

Parsing follows RFC 9309 section 2. Each line is stripped of comments after #, split at the first colon into a case-insensitive field and a value, and classified. Consecutive User-agent lines open one group; the first Allow or Disallow after them closes the agent list; the next User-agent line starts a new group. Rules that appear before any User-agent line are flagged and ignored, matching crawler behaviour. A UTF-8 byte order mark is detected and reported, since Google ignores it but some parsers treat the first line as malformed. Sitemap lines are collected from anywhere in the file, and Crawl-delay is recorded with a note that Google does not support it. Anything else (Host, Clean-param, Noindex, typos such as Disalow) is listed as an unknown directive.

Group selection mirrors Google's parser: the user-agent value is reduced to its product token (letters, hyphens, and underscores, so Googlebot/2.1 becomes googlebot) and compared case-insensitively with the crawler you chose. If several groups name the same token, their rules are merged, as RFC 9309 requires. Sub-crawlers fall back to their parent: Googlebot-Image uses a googlebot-image group if there is one, otherwise googlebot, otherwise *. If no group matches and there is no * group, the crawler is unrestricted. Matching a path uses the RFC's most-specific-match rule. Each rule's path is converted to an anchored pattern where * means any run of characters and a trailing $ means end of URL; every rule that matches the test path is a candidate, the candidate with the longest path string wins, and an Allow beats a Disallow of identical length. An empty Disallow: value matches nothing, which is why Disallow: on its own line allows everything.

The tested URL is normalised with the URL API so you can paste either /path?query or a full URL; the path and query are matched, the fragment is dropped, and non-ASCII characters are percent-encoded before comparison, as RFC 9309 section 2.2.2 specifies. The result shows the verdict, the winning rule with its line number, the group that was selected and whether it was the specific token or the * fallback, and every other candidate rule so you can see why a longer Allow overrode a shorter Disallow. The raw file is printed with line numbers and the winning line highlighted. Nothing is stored: the fetch is a pass-through with a 60-second edge cache header, and the parser and matcher run entirely in your browser, so pasted drafts never leave your machine.

Use Cases

How marketers, businesses, and developers use robots.txt tester.

Checking whether a page is blocked for Googlebot

Search Console says a URL is blocked by robots.txt but the file looks fine. Fetch it here, test the exact URL as Googlebot, and read the highlighted rule. The usual culprit is a wildcard rule like Disallow: /*?* that matches more than intended, or a trailing-slash mismatch.

Testing a draft before deploying it

Paste the new file into the Paste robots.txt tab and run the paths you care about against each crawler before it goes live. Because Google caches robots.txt for up to 24 hours, a bad deploy costs a day of crawling, so a two-minute check before pushing is cheap insurance.

Auditing AI crawler rules

Test your key pages as GPTBot, ClaudeBot, and PerplexityBot to confirm your policy is what you think. Many sites block training crawlers but want to stay eligible for AI search citations, which means allowing OAI-SearchBot and Claude-SearchBot while blocking GPTBot and ClaudeBot. Generate the groups with /tools/ai-robots-txt-generator.

Diagnosing a staging block left in production

The classic launch-day failure is a staging robots.txt with Disallow: / shipped to production. Fetch the live file and test / as Googlebot. If it is blocked, you know within seconds; fixing it and requesting a recrawl in Search Console gets Google back within a day.

Confirming CSS and JavaScript are crawlable

Google renders pages and needs the assets. Test a stylesheet path and a script path as Googlebot; a blocked /assets/ or /static/ directory can hurt rendering and mobile-friendliness evaluation. The verdict tells you which rule is doing the blocking.

Checking a competitor's crawl policy

A competitor's robots.txt shows which sections they hide from search engines and which AI crawlers they allow. Because the tool fetches any public origin, you can test their paths against any user agent without owning the site, something Search Console never allowed.

Verifying Sitemap: lines resolve

The validation list collects every Sitemap: directive. A relative path or an http:// URL on an https site is a common mistake; the directive must be a fully qualified URL. Paste each one into /tools/sitemap-validator to confirm it parses and lists real pages.

Debugging image and video crawler access

Googlebot-Image and Googlebot-Video have their own tokens and fall back to the googlebot group only when no specific group exists. Test an image URL as Googlebot-Image to see which group applied; a specific image group that disallows / silently drops you from image search.

Teaching precedence with real examples

Rule precedence is the part of robots.txt people get wrong most. Paste a small file with Disallow: /blog/ and Allow: /blog/public/, test /blog/public/post as Googlebot, and watch the longer Allow win. The candidate list makes the reasoning visible.

Robots.txt Tester vs Alternatives

Side-by-side feature and pricing comparison with the top alternatives.

FeatureU2LTechnicalSEO.com testerTame the Bots checkerSearch Console robots.txt report
Free, no signupRequires verified property
Works on any site, not only your own
Paste a draft file to test before deployVaries
Shows the exact matching rule line
Shows which group matched (specific vs *)VariesVaries
AI crawler tokens in the dropdownVaries
HTTP status meaning and 500 KiB size checkVariesVariesStatus only
Uses Google's open-source parserVaries

Robots.txt Tester vs Google Search Console robots.txt report

The Search Console report, introduced in November 2023 when the old tester was sunset, shows the robots.txt files Google found for the top 20 hosts on a property, when each was last crawled, and any parse warnings or fetch errors. It is authoritative for what Google actually fetched and it can request a recrawl.

It cannot test a URL against a user agent, cannot test a draft, and only shows properties you have verified. A standalone tester covers all three. Use the report to confirm Google has your latest file, and this tool to check what that file actually does to a given URL.

Robots.txt Tester vs Tame the Bots robots.txt checker

Tame the Bots offers live and custom modes, a long list of agents including OAI-SearchBot and Google's specialised crawlers, and it runs Google's open-source robotstxt parser, so its results match Googlebot exactly, including Google's tolerance for common misspellings.

Its output focuses on the verdict and rule. This tool adds a validation pass over the whole file (BOM, orphan rules, unknown directives, size against 500 KiB, HTTP status meaning), lists every candidate rule to explain precedence, and prints the file with the winning line highlighted. For a Google-exact answer on an unusual file, cross-check with a Google-parser-based tool.

Best Practices

Test the exact URL, including the query string

Rules match the path and query, so /search and /search?q=x can get different verdicts under a Disallow: /*? rule. Paste the full URL from Search Console or your logs rather than a tidied-up version.

Remember only one group applies

Once a crawler finds a group for its token, it ignores the * group entirely. A site that blocks /private/ under * and then adds a User-agent: Googlebot group with a single Allow has just unblocked /private/ for Google.

Use Allow to carve exceptions, not to restate defaults

Allow is useful only to override a broader Disallow in the same group. Disallow: /blog/ followed by Allow: /blog/public/ works because the Allow is longer. A lone Allow: / in a group with no Disallow changes nothing.

Keep the file under 500 KiB

Google stops reading at 500 KiB and ignores the rest, so rules near the bottom of a huge file silently vanish. If the file is that large, replace enumerated paths with directory and wildcard rules.

Serve robots.txt as plain text with a 200

Return a 200 with text/plain, or a clean 404 if you have no rules. Avoid redirecting robots.txt to the homepage, which returns HTML that fails to parse, and avoid a 5xx, which RFC-compliant crawlers treat as disallow-all.

Use noindex for pages that must not appear in search

robots.txt blocks crawling, not indexing. A blocked URL that other sites link to can still show in results with no snippet. To remove a page, allow crawling and add a noindex meta tag or X-Robots-Tag header instead.

Write AI crawler groups explicitly

GPTBot, ClaudeBot, Google-Extended, CCBot, and Bytespider each need their own User-agent group; they do not inherit * once you name any one of them and give it rules. Test each token here after editing. Google-Extended is a control token, not a crawler user agent, and it does not affect Search ranking.

Re-test after every change and after 24 hours

Google caches robots.txt for up to 24 hours, so a fix is not live for Googlebot immediately. Test the file here right after deploying to confirm the rules are right, then check the Search Console report the next day to confirm Google fetched the new version.

Common Mistakes to Avoid

Blocking CSS and JavaScript

Disallow: /assets/ or /wp-includes/ keeps Googlebot from rendering pages. Google needs stylesheets and scripts to evaluate layout and mobile usability. Test one CSS and one JS URL as Googlebot to make sure they are allowed.

Leaving Disallow: / from staging in production

The most expensive one-line mistake in SEO. A staging file with Disallow: / under * that ships to production blocks every crawler from every page. Test / as Googlebot on the live site after each deploy.

Misusing the trailing wildcard

Disallow: /fish* is identical to Disallow: /fish; Google ignores a trailing *. Both block /fishing and /fish.html. To block only the directory, write Disallow: /fish/, and to block only the exact path use Disallow: /fish$.

Expecting case-insensitive paths

Disallow: /Admin does not block /admin. Paths are matched case-sensitively per RFC 9309 and Google. If your server treats both the same, add a rule for each spelling or fix the server to redirect one to the other.

Putting rules before the first User-agent line

A Disallow that appears before any User-agent belongs to no group and every crawler ignores it. The validation list flags these. Move the line under the group it belongs to.

Relying on Crawl-delay for Google

Google does not support Crawl-delay and never has; Bing honours it. To slow Googlebot, use the crawl-rate controls in Search Console or return 429/503 responses temporarily. Do not expect the directive to protect an overloaded server from Google.

Technical Specifications

StandardRFC 9309 (Robots Exclusion Protocol, September 2022) plus Google's documented extensions
FetchOrigin-derived https://host/robots.txt via stateless pass-through, 5 redirects, 8 s timeout
ParsingBrowser-side; groups, Allow, Disallow, Sitemap, Crawl-delay, comments, BOM detection
MatchingAnchored path patterns, * and $ wildcards, longest match wins, Allow wins ties
Group selectionCase-insensitive product token; merged duplicate groups; sub-crawler fallback; * fallback
Size checkWarns above 500 KiB (Google's read limit); notes when the 1 MB fetch cap truncated the file
Status handling2xx parsed; 4xx (except 429) = allow all; 5xx = unreachable (disallow-all per RFC)
User agents11 presets including GPTBot, ChatGPT-User, ClaudeBot, PerplexityBot, plus Custom
StorageNothing stored; pasted files never leave the browser

Frequently Asked Questions

What is a robots.txt tester?

A robots.txt tester is a tool that parses a site's robots.txt and simulates a crawler's decision for a given URL and user agent, reporting whether the URL is allowed or blocked and which rule decided it. It lets you verify a file before or after deploying it, for search engine and AI crawlers alike.

How do I test if my page is blocked by robots.txt?

Enter your site's URL to fetch its robots.txt, choose Googlebot (or the crawler you care about), and enter the page path. The verdict says Allowed or Blocked and highlights the matching rule. If Search Console reports a block, paste the exact URL it shows so the query string is included.

Did Google remove the robots.txt tester?

Yes. Google announced in November 2023 that the standalone robots.txt Tester would be retired and it was sunset in December 2023. Search Console now has a robots.txt report that shows fetched files and errors for verified properties, but it does not test a URL against a user agent.

Which rule wins when Allow and Disallow both match?

The rule with the longest matching path wins. If both have the same length, Allow wins. Order in the file does not matter. So Disallow: /blog/ plus Allow: /blog/public/ allows /blog/public/post because the Allow path is longer.

Is robots.txt case sensitive?

Field names are not: user-agent, User-Agent, and USER-AGENT are equivalent. Path values are: Disallow: /Admin blocks /Admin but not /admin. User-agent tokens are matched case-insensitively, so googlebot and Googlebot are the same.

How do the * and $ wildcards work in robots.txt?

* matches zero or more of any character and $ anchors the end of the URL. Disallow: /*.pdf$ blocks any URL ending in .pdf. Disallow: /*? blocks any URL with a query string. A trailing * is redundant: /fish* equals /fish. There is no ^ anchor; every rule already matches from the start of the path.

What happens if robots.txt returns 404 or 500?

A 404 (or any 4xx except 429) means no robots.txt, and crawlers may fetch everything. A 5xx means the file is unreachable; RFC 9309 says crawlers must assume complete disallow, and Google stops crawling for the first 12 hours, then uses its last cached copy for up to 30 days.

How large can a robots.txt file be?

RFC 9309 requires crawlers to parse at least 500 KiB. Google enforces exactly that: content after 500 KiB is ignored. The tool warns when a fetched file exceeds the limit. Files that large usually enumerate URLs that a directory or wildcard rule could cover in one line.

Does Google support Crawl-delay?

No. Google ignores Crawl-delay and controls its own rate, adjustable in Search Console. Bing honours the directive. The tool records Crawl-delay lines with a note so you know they have no effect on Googlebot.

Does blocking a URL in robots.txt remove it from Google?

No. robots.txt stops crawling, not indexing. A blocked URL that other pages link to can still be indexed and shown with no snippet. To keep a page out of results, let Googlebot crawl it and add a noindex meta tag or X-Robots-Tag header.

How do I block GPTBot, ClaudeBot, or other AI crawlers?

Add a group per token, for example User-agent: GPTBot then Disallow: /. Each named crawler ignores the * group once it has its own. To block training but stay in AI search results, block GPTBot and ClaudeBot while allowing OAI-SearchBot and Claude-SearchBot. Build the file with /tools/ai-robots-txt-generator, then test each token here.

What is Google-Extended?

Google-Extended is a robots.txt control token that tells Google whether your content may be used for Gemini model training and grounding. It is not a separate crawler; Googlebot still fetches the page. Disallowing Google-Extended does not affect Search indexing or ranking.

Why does the tester say Allowed when I have Disallow: /admin?

Check three things: the URL you tested is on the same origin, the path case matches exactly, and the crawler you chose falls into that group. If you added a specific group for that crawler, it ignores the * group where the Disallow may live.

Why does the fetch fail or show an HTML page?

Some hosts redirect /robots.txt to the homepage or return a 403 to non-browser requests. The tool reports the status and content type; HTML instead of text/plain means the file is not being served. Fix the server response, or paste the intended file into the Paste tab to test the rules themselves.

How is this different from the Search Console robots.txt report?

The Search Console report shows the files Google fetched for your verified property and any errors, and lets you request a recrawl. It does not test a URL against a user agent or accept a draft. This tester does both and works on any public site.

robots.txt tester vs an AI robots.txt generator?

/tools/ai-robots-txt-generator writes the groups for AI crawlers based on your choices. This tool checks the result: paste the generated file, pick GPTBot or ClaudeBot, and confirm each path returns the verdict you intended before deploying.

Is my robots.txt uploaded or stored?

In paste mode nothing leaves your browser. In fetch mode only the origin URL is sent to U2L's fetch endpoint so the public file can be retrieved past CORS; the body is parsed in your browser and nothing is stored beyond a 60-second edge cache on the response.

Is the robots.txt tester free?

Yes, free with no signup and no limit on the number of files or tests beyond normal rate limiting on the fetch endpoint. Paste-mode tests are unlimited because they never touch a server.

Key Terms

Robots Exclusion Protocol
The convention, standardised as RFC 9309 in 2022, by which a site publishes /robots.txt to tell crawlers which paths they may fetch.
Group
One or more User-agent lines followed by Allow and Disallow rules. A crawler applies exactly one group: the most specific match for its token, or * if none.
Product token
The crawler's identifier used in User-agent lines, such as Googlebot or GPTBot. Matched case-insensitively; letters, hyphens, and underscores only.
Longest match
The precedence rule: among matching Allow and Disallow rules, the one with the most characters in its path wins; Allow wins an exact tie.
Crawl-delay
A non-standard directive asking a crawler to wait N seconds between requests. Honoured by Bing, ignored by Google.
noindex
A meta tag or X-Robots-Tag header that keeps a page out of search results. It only works if the page is crawlable, so it should not be combined with a robots.txt block.

Manage links, not just crawlers

Once your site's crawl rules are right, share it with links you can measure. U2L gives you branded short links, QR codes, and click analytics with per-link controls. Sign up free and keep every campaign link in one place.

Sign up free