Request Inspector
Parse a User-Agent string into browser, operating system, device and bot.
Related tools
About this tool
Request Inspector parses a User-Agent string into the parts applications usually take from it: browser name and version, operating system and version, layout engine, device type, and whether the string belongs to a bot or a command line client. The box is prefilled with your own browser's user agent, and you can replace it with any string from a log file. Matching is done in the order the compatibility tokens require - Edg, OPR, SamsungBrowser, CriOS and FxiOS are recognised before the Chrome and Safari tokens that all of them also carry - so the most specific product wins. It looks at the string and nothing else: no IP address, no other request headers, no Client Hints, and no check of whether the string is truthful.
Everything happens in your browser. The box is filled from navigator.userAgent by the page's own JavaScript, and the string - yours or one pasted from a log - is parsed locally with regular expressions; no request is made to the XGM API and no other server is contacted. Nothing about your actual HTTP request is inspected: not your IP address, not the other headers your browser sends, not the Sec-CH-UA Client Hints, and no reverse DNS lookup is made to test a string that claims to be a crawler. The JSON and Markdown exports are built in the page, and the string in the box is not stored with the result.
How to use it
- Open the Request Inspector tool.
- Paste or type the input you want to inspect.
- Read the result, which is computed in your browser; the input is not sent to XGM.
- Copy the output only after checking it looks correct.
- Use related XGM tools if you need a broader diagnostic view.
FAQ
Why does it say Windows 10/11 instead of naming one of them?
Both send the same platform token, Windows NT 10.0; Microsoft did not raise it for Windows 11, so the string genuinely does not distinguish them. The real version is only available through User-Agent Client Hints, in the Sec-CH-UA-Platform-Version header, which this tool does not read because it parses a string rather than a live request.
Why does a Chrome user agent contain Safari, AppleWebKit and Mozilla?
They are historical compatibility tokens: nearly every browser still claims Mozilla/5.0, and every Blink browser still carries AppleWebKit and Safari so that old server-side sniffing keeps working. That is why the order of matching matters - Edge, Opera, Samsung Internet and the iOS builds of Chrome and Firefox are checked before the Chrome and Safari tokens, otherwise every one of them would be reported as Chrome or Safari.
The engine says Blink but the string says AppleWebKit. Which is right?
Both. Blink was forked from WebKit and the browsers that use it kept sending AppleWebKit/537.36 for compatibility. The parser therefore reports Blink when a Chrome, Edg or OPR product token is present, WebKit when AppleWebKit appears without one, which is Safari, and Gecko for Firefox.
Does “Bot: No” mean the visitor is a real person?
No. The flag is a keyword test over the string - bot, crawler, spider, slurp, curl, wget, python-requests, httpclient and headless - so it catches clients that identify themselves honestly and misses every one that does not. Anyone can send any string; a scraper that copies a Chrome user agent is indistinguishable here.
Can I use this to confirm that a hit really came from Googlebot?
Not on its own. The User-Agent field is informational data supplied by the client (RFC 9110 §10.1.5), and a claim to be a search engine crawler costs nothing to fake. Verification is done on the IP address, with a reverse DNS lookup followed by a forward lookup of the name it returns, which this tool does not perform.