User Agent Parser
Decode any User-Agent string into browser, engine, OS, device type, and bot flag — or detect your own browser in one click.
User-Agent string
Presets
About this tool
A browser-based User-Agent parser that decodes any UA string into its components: browser name and version, rendering engine, operating system, device type (desktop/mobile/tablet/bot), and CPU architecture. Click 'Use my browser's UA' to inspect the current browser, or paste any UA string from server logs or analytics tools.
How to use it
Quick steps to get the most out of this utility.
- 1
Paste or detect
Paste a UA string from server logs, or click "Use my browser's UA" to inspect the current browser automatically.
- 2
Use a preset
Click any preset to load a known UA — Chrome on Mac, Safari on iOS, Googlebot, curl, Samsung Internet, etc.
- 3
Read the results
Browser, engine, OS, device type, and CPU architecture are shown in two cards. Bot UAs get an amber warning badge.
- 4
Copy the raw string
The raw UA string is shown below the results with a copy button — useful for pasting into bug reports or analytics queries.
Reading a UA string
UA strings look like gibberish but follow a recognisable pattern. Take Chrome on macOS:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36- Mozilla/5.0 — legacy compatibility token (meaningless today)
- (Macintosh; Intel Mac OS X 10_15_7) — OS and CPU
- AppleWebKit/537.36 — rendering engine (Blink for Chrome, despite the name)
- (KHTML, like Gecko) — another legacy token for Gecko compatibility
- Chrome/124.0.0.0 — the actual browser and version
- Safari/537.36 — a WebKit compatibility token (not actually Safari)
UA detection vs feature detection
For most frontend development, prefer feature detection over UA sniffing. Instead of checking “is this Chrome?” and assuming it supports a feature, use if ('IntersectionObserver' in window) or CSS @supports. UA sniffing is useful for analytics, server-side optimisations (like serving different image formats), and blocking specific bots.
Frequently asked questions
What is a User-Agent string?+
A User-Agent (UA) string is an HTTP header sent by every browser, app, or bot with each request. It identifies the software making the request — browser name, version, operating system, and device type. Servers use it to serve device-appropriate content; analytics tools use it to segment traffic.
Why do all browsers say "Mozilla/5.0"?+
Historical compatibility. Netscape was the dominant browser in the 1990s, and web servers served rich content only to "Mozilla" agents. Other browsers pretended to be Mozilla to get full content. The pattern stuck — every desktop browser today starts with Mozilla/5.0 as a compatibility token, even though it is meaningless now.
How reliable is UA detection?+
UA strings are self-reported and can be spoofed trivially. For security purposes, never trust a UA string to make authorization decisions. For analytics and feature detection, UA parsing gives a reasonable approximation — but browser feature detection via navigator or CSS @supports is always more reliable than sniffing the UA.
How does Googlebot identify itself?+
Googlebot uses a UA like: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html). You can verify a bot is really Googlebot by doing a reverse DNS lookup on the request IP — genuine Googlebot IPs resolve to googlebot.com domains.
What is "Windows NT 10.0" — is that Windows 10 or 11?+
Both. Windows 11 still reports "Windows NT 10.0" in the UA string for backward compatibility. Microsoft has not updated the NT version number, so the UA alone cannot distinguish Windows 10 from 11. You need the platform API (navigator.userAgentData on Chromium) for a reliable answer.
Keep exploring
More utilities and reading from Toolisk.