User agent parser

Paste any user agent string — yours, one from a log file, or one from the database — and see exactly what it resolves to.

Tip: press Ctrl/ + Enter inside the box to parse.

Or try one of these:

Nothing parsed yet.

Paste a user agent above, or pick one of the samples.

What the parser detects

FieldWhat it meansExample
browser.nameThe browser or client, resolved past rebrands and forksSamsung Internet, not Chrome
browser.versionFull version as reported, plus the major number131.0.0.0 → major 131
engine.nameRendering engine, disambiguating Blink from WebKitBlink, WebKit, Gecko, Trident, Presto
os.name / os.versionPlatform and release, with codename where one existsmacOS 15.3 (Sequoia)
device.typeForm factor inferred from platform and layout tokensmobile, tablet, desktop, smarttv, console, wearable, xr, bot
device.vendor / modelManufacturer and model code, where the platform exposes itSamsung SM-S928B
cpu.architectureInstruction set and bitnessamd64, arm64, ia32
botCrawler identity, category and operatorGPTBot — AI Crawler, OpenAI
flagsDerived booleans for common branching decisionsisWebView, isHeadless, isReducedUA
A note on accuracy. User agent strings are self-reported and trivially forged, and browsers deliberately freeze parts of them. Treat a parse as a strong hint, never as proof of what a client really is. For anything security-sensitive, verify behaviour rather than trusting the header.

Frequently asked questions

Does the parser send my string to a server?

No. The entire parser runs in your browser as a single JavaScript file. If you use the shareable link, the string travels in the URL — so only share links for user agents you do not mind exposing.

Can it handle bot and crawler user agents?

Yes. Bots are matched before browsers, so a crawler pretending to be Chrome is still reported as a bot. The parser identifies the crawler, its category (search engine, AI crawler, SEO tool, uptime monitor and so on), its operator, and where available the browser build it renders pages with.

Why does Brave show up as Chrome?

Because that is what Brave sends. Brave deliberately ships an unmodified Chrome user agent so its users blend in with the much larger Chrome population — leaving the token in would defeat the anti-fingerprinting goal. The same is true of Arc, and of the Tor Browser, which sends an identical string on every platform for the same reason.

What does “reduced UA” mean in the results?

It flags a string that has had its detail frozen for privacy. Chrome now reports Android 10; K on every Android device and a fixed minor version of 0.0.0 everywhere. If you see that flag, the missing detail is available through Client Hints, not from the string.