User-Agent Parser

⚑ Runs locallyπŸ”’ No uploadsπŸ†“ Free, no sign-up

Every time a browser loads a page, it introduces itself with a User-Agent request header. The format is a chain of product/version tokens plus a parenthesized comment block β€” a Chrome UA, for instance, carries Mozilla/5.0, AppleWebKit/537.36, Chrome/126.0.0.0 and Safari/537.36 all at once. That clutter is a fossil of the browser wars: sites used to sniff the UA and block unknown browsers, so every new browser pretended to be an older one to get through the door. The result is a string only a regex loves. This tool translates it back into plain language, token by token: browser name and version, operating system, device class, rendering engine and CPU architecture at a glance.

Three jobs it does well. First, front-end debugging: a user reports 'the page breaks on my phone' β€” ask for their UA string, paste it here, and you instantly know whether it is WeChat's in-app browser, iOS 17, or some obscure domestic Android browser. Reproducing the environment stops being guesswork. Second, traffic analysis: pull UAs in bulk from Nginx or CDN logs, see the real browser and OS mix of your audience, and decide with data whether IE support is still worth it or whether low-end Android needs a degraded experience. Third, bot detection: search-engine crawlers and scrapers carry recognizable UA signatures; parsing them separates real users from machine traffic for anti-abuse work and for verifying SEO crawl behavior.

Three limits you must know. First, UA strings are trivially spoofed β€” curl -A, Chrome DevTools' network conditions panel, and UA-switcher extensions can rewrite them at will. Treat parsed results as a debugging and analytics aid, never as identity proof or a security signal; any scheme that gates access on the UA is an anti-pattern. Second, on iOS every browser is forced to use the system WebKit engine (Apple policy), so Chrome for iOS hides its real version in the CriOS/ token β€” this tool reads CriOS/ and FxiOS/ first and still reports the engine honestly as WebKit. Third, Microsoft froze the OS version in the UA: Windows 11 reports itself as Windows NT 10.0, identical to Windows 10. Every UA library on the planet shares this blind spot; the tool labels it 'Windows 10 / 11' rather than guessing. Empty or garbage input simply yields 'Unknown' β€” paste another string and parse again.

How to use

  1. Paste the User-Agent string into the input box β€” or click 'Parse current browser' to auto-fill the UA of the browser you are using now.
  2. Hit 'Parse UA' to instantly see the browser, OS, device type, rendering engine, architecture and mobile status.
  3. Click 'Copy result' to paste the summary into a ticket, doc or chat; paste another UA over it to parse again β€” no refresh needed.

FAQ

Can User-Agent strings be faked? How trustworthy is the result?

Yes, trivially: curl's -A flag, Chrome DevTools' network conditions panel, and UA-switcher extensions can rewrite them at will. Use parsed results for debugging, analytics and display β€” never for authentication, authorization, or security decisions. Any access-control scheme built on the UA is an anti-pattern.

Why does Chrome on iPhone show WebKit as its engine?

Apple policy, not a parsing bug: every third-party browser on iOS must use the system WebKit renderer. Chrome for iOS hides its real version in the CriOS/ token (e.g. CriOS/126.0.6128). This tool reads the CriOS/ and FxiOS/ tokens first for the true version while honestly reporting the engine as WebKit.

What does a WeChat in-app browser UA look like?

It always carries a MicroMessenger/ token with the WeChat version (e.g. MicroMessenger/8.0.50), usually alongside NetType/WIFI network markers. When detected, the tool labels the browser 'WeChat x.y.z' and keeps parsing the inner Safari/Chrome tokens for OS and device β€” so you can tell a WeChat webview apart from the system browser.

Why does Windows 11 show up as 'Windows 10 / 11'?

Microsoft deliberately froze the OS version in the UA: since Windows 11, the string always reads Windows NT 10.0, identical to Windows 10. No UA library anywhere can tell them apart. The tool labels it 'Windows 10 / 11' instead of guessing; for a precise answer, supplement with navigator.userAgentData in client-side JS (Chromium only).

Is my pasted UA uploaded anywhere?

No. Parsing is pure client-side regex in your browser β€” zero network requests. Disconnect from the internet and try it: it still works, which is the proof. Close the tab and your input is gone, no trace left.