What the string says
Your browser sends a User-Agent header with every request. It names the browser, its rendering engine and the operating system. MDN notes that almost every browser still starts with Mozilla/5.0 for historical reasons, and tokens such as “like Gecko” and Safari/537.36 appear in browsers that are neither. So the parser tests the most specific token first: Edge before Chrome, Chrome before Safari.
Why the version and system are often wrong
Chrome has frozen parts of the string since 2022. The minor version is zeros (Chrome/131.0.0.0), desktop Chrome reports Windows NT 10.0 or Intel Mac OS X 10_15_7 whatever the machine, and Android reports Android 10 with a device called K (Chromium’s reduction notes). Safari caps macOS at 10.15.7 as well (WebKit bug 216593), and Firefox has capped it at 10.15 since version 87 (MDN). Microsoft says the string won’t be updated to tell Windows 11 from Windows 10 (Edge docs).
Client hints fill the gaps. A server receives three by default, Sec-CH-UA, Sec-CH-UA-Mobile and Sec-CH-UA-Platform, and has to ask with an Accept-CH header for the rest. The “What our server sees” panel shows exactly what arrived.
How bots identify themselves
A crawler names itself in the same header: Googlebot/2.1, bingbot/2.0, GPTBot/1.4, ClaudeBot, PerplexityBot/1.0. Your robots.txt matches a short token from that string, not all of it: user agent explains how, and the AI crawler checker shows which crawlers your file lets in. Googlebot comes in a smartphone and a desktop version.
Anyone can send any string. Google warns that other crawlers often spoof the header Googlebot uses, and recommends a reverse DNS lookup on the request’s IP, or matching Google’s published ranges (Google’s Googlebot page). The other operators below publish IP lists instead.
Googlebot
Google · Search engine
Google Search's crawler. Also the crawler behind AI Overviews and AI Mode.
To check it: Reverse DNS lookup of the IP: the host should end in googlebot.com, google.com or googleusercontent.com, and a forward lookup of that host should return the same IP. Or match Google's published IP ranges.
Bingbot
Microsoft · Search engine
Bing's search crawler. Bing's index also powers Microsoft Copilot answers.
To check it: Reverse DNS lookup of the IP: the host should end in search.msn.com, and a forward lookup of that host should return the same IP.
GPTBot
OpenAI · AI training
Crawls content that may be used to train OpenAI's models.
To check it: Match the IP against the list OpenAI publishes for GPTBot.
OAI-SearchBot
OpenAI · AI search
Indexes pages so they can be shown and linked in ChatGPT search results.
To check it: Match the IP against the list OpenAI publishes for OAI-SearchBot.
ChatGPT-User
OpenAI · User-triggered
Fetches a page when a ChatGPT user or custom GPT asks for it.
To check it: Match the IP against the list OpenAI publishes for ChatGPT-User.
ClaudeBot
Anthropic · AI training
Collects public web content that may be used to train Claude models.
To check it: Match the IP against the list Anthropic publishes for its crawlers.
Claude-SearchBot
Anthropic · AI search
Crawls to improve the quality of search results shown in Claude.
To check it: Match the IP against the list Anthropic publishes for its crawlers.
Claude-User
Anthropic · User-triggered
Fetches a page when a Claude user asks a question that needs it.
To check it: Match the IP against the list Anthropic publishes for its crawlers.
PerplexityBot
Perplexity · AI search
Indexes pages so Perplexity can surface and link them in answers.
To check it: Match the IP against the list Perplexity publishes for PerplexityBot.
Perplexity-User
Perplexity · User-triggered
Fetches a page for a user's question; Perplexity says it generally ignores robots.txt.
To check it: Match the IP against the list Perplexity publishes for Perplexity-User.
Use the string to read logs and write robots.txt rules, never to decide who gets what. Showing crawlers different content from people is cloaking. To allow or block AI crawlers by name, build the file with the robots.txt generator.