logo
GeekFormat

User-Agent Parser

Parse User-Agent

Identify browser, OS, device, engine, and Bot characteristics.

Online User-Agent parser that structurally decodes complex UA strings into readable information: automatically identifies browser name and version (Chrome/Edge/Firefox/Safari/Opera/WeChat), operating system and version (Windows 10/11, macOS, Android, iOS/iPadOS, Linux), device type (desktop/mobile/tablet/bot), rendering engine (Blink/WebKit/Gecko/Trident), and CPU architecture (x86/x64/ARM64). Built-in bot detection, sample UAs, token breakdown, and JSON output. One-click to read your current browser UA. All parsing runs entirely in your browser with local processing, perfect for developer log analysis, compatibility debugging, and traffic identification.

Related

Use Cases

  • Frontend developers troubleshooting compatibility bugs on specific browser versions or operating systems by parsing user-reported UAs to quickly identify the environment
  • Backend or DevOps engineers analyzing web server access logs to understand visitor browser, OS, and device distribution
  • Detecting automated traffic from crawlers, spiders, and bots to distinguish real user visits from malicious scraping
  • Implementing responsive adaptation or content delivery based on device type from the UA (desktop/mobile/tablet)
  • Providing architecture-appropriate software download packages or drivers based on CPU architecture (x64/ARM64)
  • Verifying WeChat in-app browser version and system environment during WeChat Official Account H5 development
  • QA engineers recording their own UA environment information in bug reports to help developers reproduce issues
  • Product managers or operations teams analyzing website traffic composition to understand which browsers and devices users primarily use
  • Verifying UA matching rules when configuring Nginx/Apache server rules
  • Validating parsing logic when implementing browser feature degradation based on UA
  • Security engineers analyzing suspicious access requests and identifying anomalous UAs for writing block rules
  • Technical support teams quickly understanding a user's environment from their UA to reduce back-and-forth communication

Features

  • 7+ browser detection: Automatically identifies Chrome, Edge, Firefox, Safari, Opera, and WeChat (MicroMessenger) in-app browser with version extraction
  • 6 operating system detection: Windows (auto-distinguishes 10/11), macOS, Android, iOS/iPadOS (auto-converts underscore version numbers), and Linux
  • 4 device type classification: Automatically categorizes as Desktop, Mobile, Tablet, or Bot/crawler
  • 4 major rendering engine detection: Blink (Chrome/Edge/Opera), WebKit (Safari), Gecko (Firefox), Trident (IE) with version numbers
  • CPU architecture identification: Detects x86, x64/AMD64, and ARM64/AArch64 architectures
  • Crawler/bot detection: Automatically identifies Googlebot, Bingbot, spiders, curl/wget, Python requests, and other automated traffic
  • One-click current UA: Click to auto-fill your current browser's User-Agent string for instant analysis
  • Built-in sample UAs: Provides three typical samples, Chrome/Windows, Safari/iPhone, and Googlebot, for quick testing
  • Token breakdown display: Splits the raw UA string into individual labeled segments for easy manual review and troubleshooting
  • Structured JSON output: Parsed results can be expanded into complete JSON format, with one-click copy for logging or development debugging
  • One-click copy: Copy the raw UA string and structured JSON results to share with your team for troubleshooting
  • Real-time parsing with zero latency: Click parse after input and get results instantly, no network requests required
  • Local browser processing: All parsing is done in local JavaScript; no UA data is uploaded to any server, protecting log privacy
  • Responsive design: Works on desktop, mobile, and tablet so you can troubleshoot UA issues on the go

How to Use

  1. Paste the User-Agent string to be parsed into the input box, or click the Use Current Browser UA button to auto-fill
  2. Click the Parse button and the tool instantly completes parsing locally and displays all structured information
  3. View the top identification summary: device type label, bot/normal traffic indicator, and key-value pairs for browser, OS, engine, and architecture
  4. For detailed analysis, view the Token breakdown label list or expand JSON to copy the complete structured results

FAQ

Which browsers can the User-Agent parser identify?

It supports identifying major browsers and their versions: Google Chrome, Microsoft Edge, Mozilla Firefox, Apple Safari, Opera, and the WeChat in-app browser (MicroMessenger). It uses regex matching to accurately extract major version numbers for compatibility debugging.

Which operating systems and versions can it detect?

It supports detecting Windows (automatically distinguishes NT 10.0 as Windows 10/11), macOS (Mac OS X), Android, iOS/iPadOS (automatically converts underscore version numbers to dot-separated format, e.g., 17_4 to 17.4), and Linux. Specific version numbers are extracted for Windows and mobile systems.

How does it determine if a visit is from a crawler or a real user?

The tool automatically detects bot traffic through keyword matching: UAs containing keywords like bot, crawler, spider, slurp, bingpreview, curl, wget, python-requests, or httpclient are flagged as crawler/bot and displayed with a prominent warning label.

Which rendering engines can it identify?

It supports identifying four major rendering engines: Blink (Chromium-based browsers like Chrome/Edge/Opera), WebKit (Safari and iOS system browsers), Gecko (Firefox), and Trident (legacy Internet Explorer), with corresponding engine version extraction.

What is the purpose of CPU architecture detection?

It identifies whether the user's device is x86 (32-bit), x64/AMD64 (64-bit desktop), or ARM64/AArch64 (Apple M-series, Snapdragon 8cx, mobile ARM). This is extremely useful when providing software download links, drivers, or native applications as you can serve the correct installer package based on architecture.

Can it directly read my current browser's UA?

Yes. Click the Use Current Browser UA button, and the tool will automatically read window.navigator.userAgent and fill it into the input box, parsing your current browser environment with one click.

Can UA parsing results be exported as JSON?

Yes. After parsing, click the Expand JSON button in the Technical Details section to view the complete structured JSON, including all fields: browser, browserVersion, os, osVersion, deviceType, engine, engineVersion, architecture, isBot, etc. Click the copy button to copy the JSON.

Why does the UA string look so messy and long?

User-Agent strings contain a large number of compatibility tokens for historical reasons: browsers add multiple identifiers to their UA to maintain compatibility with old websites (for example, Chrome includes Safari, AppleWebKit, and KHTML, like Gecko legacy tokens). Combined with OS version, device info, and engine version, this makes the string appear verbose and complex. The parser extracts and structures this information for you.

Is it suitable for frontend compatibility troubleshooting?

Absolutely. Many frontend bugs only appear on specific browser versions or operating systems. After receiving a UA string from a user report, paste it here to instantly know which browser and version, which OS the user is running, eliminating the need to repeatedly ask users for environment details and greatly improving debugging efficiency.

Can it be used to analyze UAs in server logs?

Yes. Every request in web server access logs records the User-Agent. Copy the UA string from logs and paste it here to quickly understand what browsers, OS, and devices visitors are using, and identify crawler traffic. This is extremely practical for traffic analysis and anomaly investigation.

Can it identify the WeChat in-app browser's UA?

Yes. The tool specifically detects the MicroMessenger keyword; pages opened in the WeChat in-app browser are accurately identified as WeChat with version number displayed. This is very helpful for WeChat Official Account and H5 campaign page development.

How does it distinguish between mobile and desktop visits?

The tool automatically determines device type through keywords: those containing mobile, iphone, android are flagged as Mobile; those containing ipad, tablet, kindle are flagged as Tablet; those matching bot/crawler are flagged as Bot; the rest are Desktop. The result area displays corresponding labels.

Will the UA string I enter be uploaded to a server?

No. All parsing is done entirely locally in your browser via JavaScript. The UA string you enter is never sent over the network to any server. Data is lost when you close the page, so even internal logs containing sensitive information can be parsed safely.

Why does Windows NT 10.0 show as Windows 10/11?

Because Windows 11 still uses the Windows NT 10.0 kernel version number. It is impossible to distinguish between Windows 10 and Windows 11 from the UA alone (this is intentional by Microsoft), so the tool displays it as 10/11. This is expected behavior.

What is the purpose of the parsed Token list?

The Token display splits the raw UA by parentheses, spaces, and semicolons into individual labels, making it easy to quickly browse and locate key information manually, such as finding the Chrome version number, Windows version, or whether there is a Mobile identifier, much more intuitive than reading a long unbroken string.

About User-Agent Strings and UA Parsing

User-Agent (UA for short) is a field in the HTTP request header. Every time a browser (or crawler, or other HTTP client) sends a request, it includes this string to tell the server who I am, containing browser name and version, operating system and version, rendering engine, device type, CPU architecture, and more. Servers can use the UA to return content adapted for different devices, and developers frequently use UAs for compatibility handling, traffic analytics, and crawler detection.

UA strings appear verbose and chaotic for historical reasons: back in the browser wars era, new browsers would claim to be older browsers in their UA to make websites built for older browser sniffing work correctly (for example, Chrome includes Safari identifiers, and Safari includes Gecko identifiers). Layer upon layer of legacy tokens accumulated, making modern UA strings difficult to read directly. The purpose of a UA parser is to break down these complex strings and extract genuinely useful information.

Major browsers all have fixed formats and identifier tokens: Chrome contains Chrome/version, Firefox contains Firefox/version, Safari contains Version/version and Safari/ markers, the new Edge uses Edg/, and the WeChat in-app browser uses MicroMessenger/. Operating systems also have corresponding markers: Windows uses Windows NT + version, macOS uses Mac OS X + version, iOS uses CPU iPhone OS + version, and Android directly uses Android + version. Accurate identification is achieved through regex pattern matching against these keywords.

The rendering engine is the core component a browser uses to parse HTML/CSS and render pages: Chromium-based browsers (Chrome, Edge, Opera, etc.) use the Blink engine, Safari uses WebKit, Firefox uses Gecko, and legacy IE uses Trident. Knowing the rendering engine helps diagnose CSS/JS compatibility issues since Chrome and Edge exhibit highly consistent rendering behavior when sharing the Blink engine.

Crawler detection is one of the key applications of UA parsing. Search engine crawlers (Googlebot, Bingbot, Baiduspider), SEO tool crawlers, malicious scrapers, command-line tools (curl, wget), and scripting libraries (Python requests) all include their own identifiers in the UA, or use very simple UA strings. Non-human traffic can be quickly identified by matching keywords like bot, crawler, spider, and curl.

Device type identification primarily relies on mobile indicators: UAs containing Mobile, iPhone, or Android are mobile phones; those containing iPad, Tablet, or Kindle are tablets; everything else is desktop. However, it is important to note that UAs can be forged (User-Agent Spoofing). Malicious crawlers can impersonate normal browsers, so strict anti-crawling requires combining other signals as UA parsing serves only as an initial indicator.

CPU architecture information has become increasingly important today: Apple M-series Macs use ARM64 architecture, traditional Intel Macs use x64; Windows PCs come in both x64 and ARM64 (e.g., Snapdragon compute platforms); mobile devices are uniformly ARM64. When providing software downloads, if you can determine the user's architecture from the UA and serve the corresponding installer directly (e.g., distinguishing Intel/Apple Silicon .dmg, or x64/ARM64 .exe), you significantly improve user experience.

It is important to note the limitations of UA parsing: UAs can be modified or forged by users or extensions; new browser versions may change UA formats causing regex patterns to fail; Windows 11 cannot be distinguished from Windows 10 via UA because it retains the NT 10.0 version number; on iOS, all third-party browsers (Chrome, Firefox for iOS) are required to use the WebKit engine, so their UAs carry Safari identifiers. This tool's parsing is suitable for most scenarios including development debugging and log analysis, but for high-security contexts use multi-factor judgment combining IP, TLS fingerprints, and other signals.

术语表

User-Agent (UA)
An HTTP request header field, a string by which the client identifies itself, containing browser, OS, engine, device, and other information, sent automatically with every HTTP request.
Blink Engine
An open-source rendering engine forked by Google from WebKit, used by Chrome, Edge, Opera, and all modern Chromium-based browsers.
WebKit Engine
A rendering engine developed by Apple, used by Safari and all third-party browsers on iOS (due to Apple policy restrictions).
Gecko Engine
An open-source rendering engine developed by Mozilla, used by the Firefox browser and its derivatives.
Trident Engine
The rendering engine used by Microsoft's legacy Internet Explorer, replaced by EdgeHTML (later replaced by Blink) after IE11.
Bot/Crawler/Spider
Web crawlers/robots, programs that automatically access web pages. Search engine crawlers index pages; malicious crawlers scrape data.
x86/x64/ARM64
CPU architectures: x86 is 32-bit, x64/AMD64 is 64-bit desktop (Intel/AMD), ARM64/AArch64 is 64-bit ARM (mobile, M-series Macs, Snapdragon compute platforms).
Chromium
An open-source browser project led by Google; Chrome, Edge, Opera, Brave, and many other browsers are built on Chromium.
UA Spoofing
Modifying the transmitted UA string via browser extensions, developer tools, or code to impersonate another browser or device, commonly used for testing or bypassing restrictions.
Rendering Engine
The core browser component responsible for parsing HTML/CSS/JavaScript and rendering pages to the screen; different engines have variations in standards implementation and compatibility.
MicroMessenger
The identifier string for the WeChat in-app browser in the UA, used to detect whether a page is opened within the WeChat WebView.
Windows NT Version
Windows kernel version numbers: NT 6.1 = Win7, NT 6.3 = Win8.1, NT 10.0 = Win10/11 (Windows 11 retains this version number).

Major Browser UA Identifier Quick Reference

Quickly identify the corresponding browser through UA keywords:

BrowserUA Identifier KeywordRendering EngineTypical Version Example
ChromeChrome/xxx (exclude Edg/OPR)BlinkChrome/124.0.0.0
Microsoft EdgeEdg/xxxBlinkEdg/124.0.0.0
FirefoxFirefox/xxxGeckoFirefox/125.0
SafariVersion/xxx + Safari/ (no Chrome/)WebKitVersion/17.4 Safari/604.1
OperaOPR/xxxBlinkOPR/110.0.0.0
WeChat In-AppMicroMessenger/xxxSystem-dependentMicroMessenger/8.0.49

Operating System UA Identifier Reference Table

Typical OS markers in UA strings:

Operating SystemTypical Marker in UAVersion Notes
WindowsWindows NT 10.0; Win64; x6410.0 = Win10/Win11
macOSMac OS X 14_4_1Underscores converted to dots (14.4.1)
iOS/iPadOSiPhone; CPU iPhone OS 17_4 like Mac OS XLike macOS, underscores converted to dots
AndroidAndroid 14; Pixel 8Major version extracted directly
LinuxX11; Linux x86_64 or Linux aarch64Most desktop Linux distributions

Common Crawler Bot UA Keyword Quick Reference

The following keywords appearing in a UA generally indicate a bot/crawler:

TypeKeyword ExamplesDescription
Search EnginesGooglebot, Bingbot, Baiduspider, SlurpLegitimate search engine crawlers for web indexing
SEO/Inspection Toolsbingpreview, AhrefsBot, SemrushBotSEO tools, preview generation, site inspection
Command-Line Toolscurl/, Wget/, Python-urllib, HttpClientCommand-line/scripting HTTP clients used by developers
Generic Crawler Tokensbot, crawler, spiderGeneric identifier tokens used by various crawlers

Privacy & Security

All parsing in this User-Agent parser runs entirely locally in your browser via JavaScript. The UA strings you enter are never uploaded to any server, nor are they recorded, cached, or stored. Input and parsing occur entirely in browser memory, and all temporary data is automatically cleared when you close or refresh the page. Sensitive UA information from server access logs and internal system UAs can be parsed safely with no risk of data leakage.

Authoritative References

Troubleshooting

What if the browser shows as Unknown after parsing?

Niche browsers, very old versions, or bleeding-edge versions may not be recognized. You can check the Token breakdown area to manually look for identifiers, or verify whether the UA was truncated or contains typos.

Why is Windows 11 identified as Windows 10?

This is by Microsoft's design, the Windows 11 UA still uses Windows NT 10.0 as its version number, identical to Windows 10, making it impossible to distinguish via UA alone. Precisely detecting Win11 requires combining other APIs (such as navigator.userAgentData.getHighEntropyValues()).

Why is Chrome on iOS identified as using the Safari engine?

Because Apple's App Store policy requires all third-party browsers on iOS to use the system's built-in WebKit engine. Therefore, Chrome for iOS and Firefox for iOS actually use the WebKit kernel, and their UAs carry Safari identifiers. This is expected behavior.

Why is a real user flagged as Bot?

A very small number of privacy-focused browsers, ad-blocking extensions, or antivirus software may modify the UA, add special tokens, or use extremely short UAs, which can lead to false positives as Bot. This is rare, and you can manually confirm by reviewing the full UA string.