robots.txt Generator

Easily generate a robots.txt file to manage web crawlers, featuring a one-click preset to block AI bots from training on your content.

💡 First choose a default policy, then refine the rules below. The preview on the right updates instantly as you type.
Select Bots to Block Checked = Blocked
🔍 Search Engines (usually allow for search exposure)
🧠 AI Learning & Data Collection Crawlers
📊 SEO Analysis & Other Bots (often consume traffic unnecessarily)
One per line · start with /
To open specific parts within a blocked folder
Absolute URL · one per line
robots.txt Preview

Rule Syntax Summary

DirectiveMeaningExample
User-agentBot name to apply rules to. * applies to all othersUser-agent: Googlebot
DisallowPath to disallow crawling. Empty value means "no disallowance"Disallow: /admin/
AllowException to allow within a blocked rangeAllow: /admin/help.html
*Wildcard matching any stringDisallow: /*.pdf
$Anchors to the end of the URLDisallow: /*.pdf$
SitemapAbsolute URL of the sitemap. Common for all botsSitemap: https://example.com/sitemap.xml
Crawl-delayRequest interval (seconds). Ignored by Google, referenced by Bing/YetiCrawl-delay: 10
Disallow does not mean noindexing. It only prevents crawling, so if there are external links, the URL might still appear in search results. To definitively remove a page, you must add a noindex meta tag to that page. For this to work, the crawler must be able to read the page, so you should not block it with robots.txt.

What is the robots.txt Generator?

A robots.txt file is a simple but powerful guide for web crawlers, placed at your site's root (e.g., `example.com/robots.txt`). It tells bots like Googlebot which pages to avoid, such as admin panels or shopping carts, and where to find your sitemap. With the rise of AI, there's a growing need to block crawlers like GPTBot and CCBot from using site content for training. This generator simplifies that with a one-click preset for blocking major AI bots. It also helps prevent critical errors by warning you if you're about to block your whole site. All generation happens in your browser, so your rules are never sent to our servers.

How to use

  1. Start by choosing a `Default Policy`: `✅ Allow All`, `🤖 Block AI Crawlers Only`, or `⛔ Block All`.
  2. Under `Select Bots to Block`, check any specific crawlers you wish to block entirely. Use the `Block All` button to quickly block all listed AI bots.
  3. Add paths to exclude from crawling in the `Disallow Paths` box, one per line (e.g., `/admin/`). Use `Allow Paths (Exceptions)` for sub-paths you want to re-allow.
  4. Enter the full URL of your sitemap in the `Sitemap URL(s)` box (e.g., `https://example.com/sitemap.xml`).
  5. Review the live `robots.txt Preview` on the right. When ready, click `Save` to download the file and upload it to your website's root directory as `robots.txt`.

robots.txt Generator guide

How this tool is used in real work, and what to watch out for.

Disallow Is a Request, Not a Block

Most accidents involving robots.txt happen because of two common misunderstandings. You need to keep them separate.

First, `Disallow` is a request to "please don't crawl this path," not "please remove this from search results." A crawler won't read the page, but if another site links to that URL, Google can still show it in search results with just the URL and no content. This is what Search Console reports as "Blocked by robots.txt, but indexed."

Second, this is where the real trouble starts. To get a page out of search, you add a `noindex` meta tag to it, and then you also block it with `robots.txt`. The crawler can't read the page, so it can't read the `noindex` tag. As a result, the page is never removed from the index. You should never use `noindex` and `Disallow` together.

GoalWhat to Userobots.txt Disallow
Completely remove from search`noindex` meta tag (or X-Robots-Tag header)Don't use — it prevents reading the tag
Reduce crawl load / duplicate URLs`Disallow`This is its intended purpose
Protect private contentLogin/Authentication (401/403)Useless — you're just advertising the path's existence
Clean up deleted pages410 Gone responseIf you block it, the crawler can't get the deletion signal
Clean up duplicate pages`canonical` tagIf you block it, the crawler can't read the canonical tag
It's surprisingly common for developers to accidentally push a dev server's `Disallow: /` to production. This tool will display a warning if you use the "⛔ Block All" preset or if the only disallowed path is `/`. If you see a warning, double-check that this is your intention before downloading.

Blocking AI Crawlers: What to Block and What to Allow

Blocking all AI bots isn't always the right answer. Bots from the same company often have different roles. The most common strategy is to block data collection for training while allowing bots used for search and citations.

BotWhat It DoesIf You Block It
GPTBotCollects data for OpenAI model trainingExcluded from training. Almost no loss of inbound traffic.
OAI-SearchBotIndexes for ChatGPT search resultsExcluded from ChatGPT search results and citations.
ChatGPT-UserOpens a link when given by a userWhen a user asks about your link, ChatGPT can't read it.
Google-ExtendedControls usage for Gemini trainingExcluded from training only. No impact on Google search rank or indexing.
CCBotCommon Crawl — many AIs use this dataExcluded from a broad training dataset.
PerplexityBotCollects and cites for Perplexity answersYou lose citation traffic.
Google-Extended is a control separate from Google Search indexing. Google has explicitly stated that blocking it does not affect your search rankings, making it the first thing to add if you want to "opt out of AI training but maintain search visibility."
Accidentally checking (= blocking) search engine bots like Yeti or Googlebot will make your site disappear from that search engine entirely. For sites in Korea, blocking Yeti is effectively traffic suicide. Bots like `kakaotalk-scrap`, `facebookexternalhit`, and `Twitterbot` aren't search bots but are for generating link previews. If you block them, your link's thumbnail and title won't appear when shared on KakaoTalk or other social media.

robots.txt Is Not Enforceable

robots.txt is a gentlemen's agreement. It's up to the bot to honor it. While major companies (OpenAI, Anthropic, Google, Naver) have stated their crawlers respect the rules, many bots don't read the file at all, spoof their User-Agent, or change their names frequently. To truly block a bot that keeps showing up in your access logs, you have to block it at the server level.

nginx
# nginx — How to actually block bots that ignore robots.txt
# Using 444 (closes connection without response) also saves bandwidth.
map $http_user_agent $bad_bot {
    default 0;
    ~*(GPTBot|CCBot|Bytespider|AhrefsBot|SemrushBot) 1;
}

server {
    # ... snip ...
    if ($bad_bot) { return 444; }
}

# Test config before applying → Reload for zero-downtime update
#   nginx -t && systemctl reload nginx
User-Agent strings can be faked. This method only works on 'honest' bots that identify themselves correctly. Also, if you accidentally add a string like `Googlebot` to the regex, your search visibility will vanish. After applying changes, use Google Search Console's URL Inspection tool to verify that Googlebot can still access your site normally.

Where to Upload and How to Verify

Even with perfect syntax, your robots.txt is useless if it's in the wrong place. It must be at the root of your domain, and each subdomain needs its own file.

  1. After uploading the downloaded file to your site's root, open https://yourdomain/robots.txt directly in your browser. If you see a 404 error or an HTML page, it's in the wrong place.
  2. Check the robots.txt report in Google Search Console to see the latest version Google has read and any errors it found.
  3. Use the robots.txt validation tool in Naver Search Advisor to check against Yeti's standards as well.
  • https://example.com/blog/robots.txt → Is ignored. Placing it in a subfolder has no effect.
  • https://blog.example.com/ → Is not covered by example.com's robots.txt. You must upload a separate file for each subdomain.
  • The filename must be exactly `robots.txt` (lowercase). `http` and `https` are also treated as separate sites, so if you serve both, the file should be accessible on both.
Changes don't take effect immediately — crawlers cache the robots.txt file. Also note, `Crawl-delay` is ignored by Googlebot (only referenced by bots like Bingbot and Yeti), and the `Host` directive is effectively obsolete (it was for the old Yandex search engine). The modern method for setting a canonical domain is to use 301 redirects.

Frequently asked questions

If I disallow a page, will it disappear from search results?

Not always. `Disallow` only stops crawling. If other sites link to the page, its URL can still be indexed. To guarantee removal, use a `noindex` meta tag on the page itself and ensure robots.txt allows crawling so the tag can be read.

Is blocking AI crawlers with robots.txt legally binding?

No, robots.txt is a voluntary standard. Major companies like OpenAI and Google state they respect it, but non-compliant bots will ignore it. True blocking requires server-level configuration (e.g., in nginx or .htaccess).

Where do I upload the generated robots.txt file?

It must be placed in the root directory of your domain. For `https://example.com`, the correct location is `https://example.com/robots.txt`. A file at `https://example.com/blog/robots.txt` will be ignored.

Are my site paths and rules sent to your server?

No. This tool runs entirely in your web browser. All rule generation and file creation happen on your computer. Nothing you type is ever transmitted or stored, ensuring your site's structure remains private.