UA Parser
Parse any User-Agent string to detect browser, rendering engine, OS, device type and CPU architecture. One click fills in your own browser's UA.
- Browser
- Unknown
- Engine
- Unknown
- Operating system
- Unknown
- Device type
- Unknown
- CPU / Arch
- Unknown
How to use
Purpose
Online User-Agent parser. Decodes UA strings into readable structure: browser name and version, OS and version, device type (desktop / mobile / tablet / bot), rendering engine (Blink / Gecko / WebKit), CPU architecture. Provides UA templates for common browsers (Chrome / Firefox / Safari / Edge / IE / WeChat / Baiduspider) and a "fake UA generator". Common for server log analysis, traffic statistics, bot detection, cross-browser debugging. All parsing runs locally.
Steps
- Paste a User-Agent string (from logs or navigator.userAgent)
- Right pane: browser / version / OS / device / engine
- Device class: Desktop / Mobile / Tablet / Bot
- Bot detection: Googlebot / Baiduspider / Bingbot / facebookexternalhit / WhatsApp Preview
- Common UA templates: one-click insert Chrome mobile / Safari iPhone / WeChat
- Fake UA generator: combine OS + browser + version to a custom UA
- Current browser UA: read navigator.userAgent
- Batch: one UA per line
FAQ
- Why are Chrome UAs so long, with Mozilla / Safari / KHTML?
- Historical baggage. Early websites only served modern features to "Mozilla" UAs (IE without "Mozilla" was excluded), so browsers added "Mozilla/5.0" to fool sniffing. Chrome wanted Safari WebKit rendering, so added "Safari/x"; wanted broader compatibility, so added "KHTML". Every browser UA is a nesting doll. Microsoft Edge UA contains Chrome / Safari / KHTML / Mozilla simultaneously.
- What is UA Client Hints? Will it replace User-Agent?
- Google-driven new standard: separate HTTP headers Sec-CH-UA / Sec-CH-UA-Mobile / Sec-CH-UA-Platform replace string parsing. Benefits: no regex parsing on the server; better privacy (default low-entropy fields). Status: Chrome supports it; Firefox / Safari partial. Transition: User-Agent strings will stick around for a long time — new code can use Client Hints with UA string fallback.
- Can I bypass anti-scraping by faking UA?
- UA alone is probably not enough. Anti-scraping typically uses: 1) UA (basic check); 2) behavior fingerprints (mouse trajectories, intervals); 3) IP (proxy detection); 4) Canvas fingerprint; 5) WebGL; 6) fonts; 7) timezone vs IP geolocation match. Single-point UA fakery passes only the most basic. Advanced: puppeteer / playwright + stealth plugin + proxy pool.
- How to detect search engine crawlers?
- UA features: Googlebot / Baiduspider / Bingbot / Sogou / YandexBot / DuckDuckBot. Authenticity verification: reverse DNS to confirm IP belongs to google.com / baidu.com subdomain (defends against fake UAs). This tool detects by UA only; in production, add reverse DNS verification.
- How to detect WeChat in-app browser?
- WeChat in-app UA contains MicroMessenger/Version. Example: Mozilla/5.0 (iPhone; CPU iPhone OS 15_0) ... MicroMessenger/8.0.20 ... Use cases: 1) show share buttons in WeChat ecosystem (hidden in normal browsers); 2) certain JSAPIs cannot be called outside WeChat — warn user; 3) WeChat mini-program webview UA also contains miniProgram.
Use cases
- Server log analysis: parse UA distribution
- Traffic stats: mobile vs desktop, browser market share
- Bot detection: identify search engines and malicious crawlers from logs
- Cross-browser debug: copy target browser UA for development testing
- A/B testing: serve different versions by browser type
Use cases
Server log analysis, traffic stats, bot detection, cross-browser debug, A/B testing. Backend, SEO, ops, QA. Detailed field parsing, bot detection, UA templates, batch processing are the differentiators.