ToolsForWeb

Saved

Tap ☆ on any tool to keep it here.

toolsforweb

User-Agent Parser

Break a User-Agent string into browser, engine, OS, device and bot details.

Runs in your browser — nothing is uploaded

Loading tool…

Results are provided as is, for general information. Check anything important before relying on it. See the Terms of Use.

About this tool

Breaks any User-Agent string into its parts: browser and version, rendering engine, operating system and version, device vendor, model and type, CPU architecture, plus a first-party bot table that flags Googlebot, bingbot, curl, wget, link previews and friends — detection the v1 parser core leaves out. Your own UA is filled in when the page loads; paste over it to dissect any other string. Parsing runs in your browser with a bundled parser and a small first-party additions table — the string is never sent anywhere.

When to use it

Seeing exactly what servers see when your browser identifies itself.
Debugging why a site served you a mobile layout, a blocked page or a fallback.
Checking crawler and bot strings you found in server logs before writing rules for them.
Testing UA-dependent code against Chrome, Firefox, Safari, iOS, Android, Googlebot and curl fixtures.

Questions

Why does every User-Agent start with Mozilla/5.0?

Historical inertia. In the 1990s browser wars, servers served rich pages only to Netscape (Mozilla) — so every browser since has pretended to be Mozilla, and each new engine appended its own compat tokens: MSIE pretending to be Gecko, Chrome claiming Safari's tokens alongside its own. The string is a layer cake of frozen lies, which is exactly why parsing it mechanically beats eyeballing it.

Is my User-Agent a privacy problem?

On its own it identifies your browser and OS, not you. It becomes a problem as one ingredient of fingerprinting: combined with screen size, fonts and other headers, a UA can help single your device out of a crowd. Reducing or freezing it helps a little; browsers now ship frozen, generic UAs for exactly this reason — which is also why version info from a UA is increasingly coarse.

Why is my modern browser reported as Safari or an old Chrome?

Frozen compat tokens. Chrome and Edge still ship the Safari token and AppleWebKit engine marker for site compatibility, and Firefox's UA still claims Gecko/20100101. The parser reports the real engine from the version tokens; when a string is too vague to pin down, the field simply stays null instead of guessing.

Why does curl show up as a bot?

The bot table classifies command-line clients like curl, wget and python-requests as non-browser clients, the same way crawlers are flagged. That is what log analysis usually wants: a rule that branches on 'automated client' should catch both Googlebot and curl, and the label tells you which you are looking at.

Related tools