devtools

User Agent Parser

Paste any User-Agent string to break out the browser, version, rendering engine, operating system, and device type. Runs privately in your browser.

Runs entirely in your browser — your data never leaves your device.

How to use User Agent Parser

What it does & when you need it

Every request a browser or bot makes carries a User-Agent string — a dense, historically messy line that names the client. This tool pulls it apart into the pieces you actually care about: the browser and its version, the rendering engine (Blink, WebKit, or Gecko), the operating system and version, and whether the client is a desktop, mobile, tablet, or bot. It matches patterns locally, so a UA copied from a server log or a bug report is analysed in your browser and never uploaded.

Reach for it when you are reading access logs, reproducing a device-specific bug, checking what a crawler sent, or sanity-checking analytics that look off.

How to use

  1. Paste a User-Agent string into the input, or press Sample to load a real one.
  2. The breakdown updates instantly: browser, engine, operating system, and device type, each on its own line.
  3. Copy the summary with Copy or Ctrl/Cmd + Enter.

Things worth knowing

Every iOS browser is WebKit. Apple requires it, so Chrome (CriOS) and Firefox (FxiOS) on an iPhone both report the WebKit engine rather than Blink or Gecko. That is not a parsing mistake — it is what actually renders the page.

The UA is a hint, not proof. Any client can send any string, and browsers now freeze or reduce the UA for privacy. Every string still begins with the legacy Mozilla/5.0 for backward compatibility. Treat the result as useful signal for debugging and rough segmentation, never as a security control or an exact metric.

Device type is a heuristic. An iPad or an Android without a Mobile token is read as a tablet, tokens like Mobile or iPhone mean mobile, a known crawler marks a bot, and everything else falls back to desktop. To see the headers a site returns, try the HTTP header checker, or look up a status code.

Examples

Desktop Chrome on Windows

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Parses as Chrome 120 on Windows 10, Blink engine, desktop device.

iPhone Safari

Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1

Shows Safari 17 on iOS 17.0, WebKit engine, mobile device.

Googlebot crawler

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Recognized as a bot rather than a real browser or device.

Frequently asked questions

What does a User-Agent string tell you?

It is the identity line a browser or bot sends with every request. This tool reads it to report the browser and version, the rendering engine (Blink, WebKit, or Gecko), the operating system and version, and whether the client is a desktop, mobile, tablet, or bot.

Why does an iPhone browser report WebKit even in Chrome?

Because Apple requires every iOS browser to use the system WebKit engine. So Chrome on iPhone (CriOS) and Firefox on iPhone (FxiOS) both parse as WebKit, not Blink or Gecko, which is exactly what the underlying engine actually is on that platform.

Can I trust the User-Agent for analytics or access control?

Only loosely. Any client can send any string, browsers freeze or reduce the UA for privacy, and every UA still starts with the historical "Mozilla/5.0" for compatibility. Use it for rough insight and debugging, never as a security boundary or a precise metric.

How does it decide the device type?

By heuristics in the string: a known crawler token marks a bot, an iPad or an Android without "Mobile" is treated as a tablet, tokens like "Mobile" or "iPhone" mean mobile, and anything else falls back to desktop. Ambiguous strings can be misclassified.

Is the string sent anywhere?

No. Parsing happens entirely in your browser with local pattern matching, so a User-Agent captured from a log or a bug report is analyzed on your machine and never uploaded.