Break any User-Agent string into browser and version, operating system, rendering engine and device type, including bot and crawler detection. Handy when you are reading server logs and trying to work out what actually made a request.
How to use it
- Paste a User-Agent string, or let the tool read your own.
- Review the parsed browser, version, platform, engine and device type.
- Watch for the bot indicator when triaging unusual log traffic.
Why User-Agent strings are such a mess
Almost every modern UA begins with Mozilla/5.0, which tells you nothing. The reason is thirty years of compatibility theatre. Early servers sniffed the UA to decide whether a browser was capable enough to receive rich content, so each new browser impersonated its predecessors to avoid being served a degraded page. Chrome therefore claims to be Mozilla, mentions AppleWebKit and KHTML, and appends Safari, none of which reflect what it really is. The genuinely useful token is usually near the end.
The rendering engine matters more than the brand for compatibility questions. Chrome, Edge, Opera and Brave all run Blink. Firefox runs Gecko. Safari and every iOS browser run WebKit, because Apple platform rules historically required it, which is why a Chrome UA on iOS still identifies WebKit underneath. Two browsers sharing an engine will generally behave identically, so identifying the engine tells you more about a rendering bug than the brand name does.
Treat it as a hint, never as a control
A User-Agent is a request header the client fully controls, so it can be set to anything. Any security decision that depends on it, such as blocking a scraper by string match or serving different content to what you believe is a crawler, is trivially bypassed and can amount to cloaking. Browsers are also actively reducing the information here: UA reduction freezes version numbers and platform detail, pushing sites toward feature detection and, where necessary, User-Agent Client Hints. If your code branches on a UA string today, prefer testing for the capability you actually need. Parsing here happens entirely in your browser and no string you paste is transmitted.
Frequently asked questions
Why does Chrome say it is Safari and Mozilla?
Historical compatibility. Browsers accumulated tokens from earlier engines so that servers sniffing for them would not send a stripped-down page. The string is a fossil record rather than an accurate self-description.
Can I trust the bot flag?
Only as a first pass. Well-behaved crawlers such as Googlebot identify themselves honestly, but malicious scrapers copy an ordinary browser string. Confirming a claimed crawler requires a reverse DNS lookup on the source address, not the header.
Is my User-Agent stored?
No. It is parsed in the page and never sent anywhere or recorded.
Related tools: Browser Fingerprint Check, URL Scanner, Email Header Parser.