User-Agent parser
Parse a User-Agent string locally to detect its browser, rendering engine, operating system, device type and known bots.
- Clipboard
Was this tool useful?
How does this tool work?
This parser breaks down a User-Agent string, the header every browser and crawler sends to a website, into readable information: browser, rendering engine, operating system, device type and any bot. Use it to read server logs, make sense of an analytics figure or check what your own browser sends.
Known crawlers (Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Applebot and the Facebook, X and LinkedIn crawlers) are checked first, then any User-Agent containing bot, crawler, spider or slurp is classified as a generic bot.
The browser is identified in a precise order, because almost all of them claim compatibility with others: Edge and Opera before Chrome, Chrome before Safari. The version is the one announced in the string.
The engine is deduced from the browser: Blink for Chrome, Edge, Opera and Samsung Internet, WebKit for Safari, Gecko for Firefox, Trident for Internet Explorer.
The system and device are read from the part in brackets: Windows NT 10.0, iPhone OS 17_6, Android, Mac OS X… An iPad that presents itself as a Mac is recognised thanks to the Mobile token.
How to use this tool
Paste the string
In the User-Agent string field, or click Use my User-Agent for your browser’s own string.
Parse
Click Parse, or pick a string from the examples provided.
Read the cards
Browser, Engine, Operating system, Device and Bot, each with its version or model.
Use the JSON
The JSON result contains every value for a spreadsheet or script.
Use cases
Read server logs
Understand who is behind a log line: a real visitor, a search engine crawler or a script.
Debug a display issue
Identify exactly the browser and system of a user reporting a bug.
Spot a bot
Check whether a string found in your analytics belongs to a known crawler.
Examples
Chrome on Windows
Windows NT 10.0 is shared by Windows 10 and 11, so the string alone cannot tell them apart.
Input
User-Agent string: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36Result
Browser: Google Chrome 129.0.0.0 · Engine: Blink 537.36 · Operating system: Windows 10/11 (10.0) · Device: desktop · Bot: Not detectedSafari on iPhone
The iPhone model and iOS version are read from the brackets; the engine is WebKit, as for every browser on iOS.
Input
User-Agent string: Mozilla/5.0 (iPhone; CPU iPhone OS 17_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.6 Mobile/15E148 Safari/604.1Result
Browser: Safari 17.6 · Engine: WebKit 605.1.15 · Operating system: iOS 17.6 · Device: mobile (iPhone) · Bot: Not detectedGooglebot Smartphone
Googlebot presents itself as Chrome on Android to crawl the mobile version, and the tool classifies it as a bot.
Input
User-Agent string: Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.6668.70 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)Result
Browser: Google Chrome 129.0.6668.70 · Engine: Blink 537.36 · Operating system: Android 6.0.1 · Device: bot (Googlebot) · Bot: Detected (Googlebot)Tips and best practices
- A User-Agent string can be changed freely: any script can pretend to be Googlebot. To verify a real Googlebot, run a reverse DNS lookup on its IP address.
- Chrome and Safari freeze part of their string (Mac OS X 10_15_7, Windows NT 10.0) to limit tracking, so the system version shown may be older than the real one.
- To adapt a site to a device, prefer CSS media queries and feature detection over parsing the User-Agent.
- Chromium browsers also send more precise Client Hints (Sec-CH-UA), which this tool does not read.
Sources and references
- User-Agent header (opens in a new tab), MDN Web DocsPage in English
Frequently asked questions
Why “Windows 10/11” rather than the exact version?
Windows 11 still sends Windows NT 10.0 in its User-Agent. Only Client Hints (Sec-CH-UA-Platform-Version) can tell them apart, and they are not part of the string.
Why do all browsers contain Mozilla and Safari?
For historical compatibility: each new browser copied its predecessors’ tokens so websites would not block it. That is why the tool applies a precise detection order.
Is a bot necessarily malicious?
No. Googlebot, Bingbot and social network preview crawlers are useful. Generic bots detected by the words bot, crawler or spider simply deserve a closer look.
What does an “Unknown” result mean?
The string matches no known rule: a rare browser, an in-app browser, an HTTP client such as curl or a truncated string. The JSON result is still there for you to examine.
Is the string sent to a server?
No. The parsing runs in your browser.
Related tools
Keep going with these tools
Tools similar or complementary to this one.
Similar tools
Analyze key SEO signals in HTML locally.
Detect noindex, nofollow and canonical inconsistencies from HTML.
Measure term frequency, phrase occurrences, and density in text or HTML.
Read next
Is local browser processing replacing traditional online tools?
WebAssembly, browser APIs and faster devices enable more processing locally. How far can this approach replace services that upload files to servers?
How to optimize 50 images for the Web at once
Resize a batch of images, convert them to WebP and remove metadata with one reusable Pipeline.
Optimize images for the Web without losing quality
Resize, compress and choose between WebP, AVIF and other formats with a practical workflow that reduces file size without unnecessary visual loss.
WebP, AVIF, JPEG XL: which image formats should you choose in 2026?
WebP, AVIF and JPEG XL have different strengths. Compare compatibility, compression, transparency, HDR and fallback strategies in 2026.