User-Agent Parser

Break a User-Agent string into browser, engine, OS, and device — including CLI clients and bots.

Chrome 131.0.0.0 on Windows 10

Detected as a regular client

SectionFieldValue
Browser / ClientnameChrome
Browser / Clientversion131.0.0.0
Browser / Clientmajor131
EnginenameBlink
Engineversion131.0.0.0
Operating systemnameWindows
Operating systemversion10
CPUarchitectureamd64
  • User-Agent strings are trivially spoofed — use them for analytics and debugging, never for access control or security decisions.
  • Nearly every browser still claims to be Mozilla/5.0 for historical compatibility reasons, which is why the strings look so strange.
  • Browsers are freezing and reducing UA detail, so prefer feature detection or Client Hints over parsing when you can.

Your Data Never Leaves Your Device

Every tool runs entirely in your browser. Nothing you type is uploaded, stored, or logged on our servers.

100% Client-Side

The User-Agent Parser breaks a UA string into the browser or client, its rendering engine, the operating system, and the device. Alongside browsers it recognises the clients that fill real server logs — curl, Wget, Postman, python-requests, Go's HTTP client, axios, OkHttp — and flags crawlers, including AI crawlers such as GPTBot, ClaudeBot, and CCBot.

Two caveats are worth stating plainly. A User-Agent is a client-supplied header that anyone can set to anything, so it belongs in analytics and debugging, never in access control. And the format itself is a historical accident: browsers still announce themselves as Mozilla/5.0 because early servers sniffed for that word before sending modern HTML. Browsers are now actively freezing and reducing UA detail, so prefer feature detection or Client Hints where you can.

FAQ

Historical compatibility. Early servers sniffed for "Mozilla" to decide whether to send modern HTML, so every browser adopted the prefix and never dropped it. The rest of the string accumulated the same way.

No. It is a client-supplied header that anyone can set to anything, and every HTTP client lets you override it. Use it for analytics and debugging, never for access control, licensing, or security decisions.

Yes. curl, Wget, Postman, python-requests, Go's HTTP client, axios, OkHttp, and Java clients are recognised with their versions — these are what most server logs are actually full of.

By pattern-matching the raw string against known crawler markers, including AI crawlers like GPTBot, ClaudeBot, and CCBot. It is a heuristic: well-behaved bots identify themselves, and impolite ones simply do not.

Feature detection for capabilities, and User-Agent Client Hints where you genuinely need platform information. Browsers are actively freezing and reducing UA detail, so parsing is a shrinking source of truth.

No. Parsing runs entirely in your browser.