User-Agent Parser

Parse user-agent strings to detect browser, operating system, device, and rendering engine. All processing in your browser.

Instant Detection Full Analysis Client-Side Processing

How to Use User-Agent Parser

1

Auto-detected or paste UA

Your current user-agent is loaded automatically, or paste any UA string.

2

Instant analysis

The browser, OS, device, and engine are identified instantly.

3

Copy results

Copy the full analysis or individual components as needed.

What is a User-Agent?

A user-agent string is an HTTP header that browsers and applications send to websites to identify themselves. It contains information about the browser name, version, operating system, and device. Websites use this to serve appropriate content and track usage.

User-Agent Components

Browser

The application name and version (Chrome 120, Firefox 121, etc.)

Operating System

The underlying OS and version (Windows 11, macOS 14, etc.)

Device Type

Form factor: desktop, mobile, tablet, or other

Rendering Engine

The underlying engine (Blink, Gecko, WebKit, Trident)

Frequently Asked Questions

How does user-agent parsing work?

The parser uses pattern matching against known browser, OS, and engine signatures in the UA string to identify components. Results are best-effort since UA strings can be spoofed.

Can it detect bots and crawlers?

Yes. The parser identifies common bots, crawlers, and spiders by matching known patterns like Googlebot, Bingbot, and others.

What is my current user-agent?

The tool automatically detects and displays your current browser's user-agent string when the page loads.

Why does Chrome's user-agent also contain the word Safari?

For compatibility. Chrome descends from WebKit, whose UA string copied Safari's, which itself copied earlier browsers - so today's Chrome UA reads Mozilla/5.0 ... AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. Every token is a historical handshake with old server-side detection scripts, which is also why the last matching browser token is usually the real one.

What are User-Agent Client Hints (UA-CH)?

A privacy-friendlier replacement shipped alongside Chrome's user-agent reduction. The server requests high-entropy hints with the Accept-CH response header and receives structured fields like Sec-CH-UA-Platform and Sec-CH-UA-Full-Version on subsequent requests. New code should prefer feature detection or UA-CH over parsing raw UA strings.

How reliable is user-agent based detection?

Reasonable for analytics and coarse routing, fragile for anything security-relevant. UA strings are trivially spoofed, third-party browsers often copy Chrome's token wholesale, and reduced UAs freeze the minor version. The best practice recommended by MDN: detect features (CSS @supports, if ('IntersectionObserver' in window)) rather than browsers, and treat UA parsing as a fallback.

Can I change or fake my own user-agent?

Yes. Desktop Chrome, Edge, and Firefox DevTools offer device emulation with a UA override; Safari has Develop > User Agent; and curl sets it with -A. Sites that gate content on UA strings are bypassable by design - another reason servers should never treat a UA as proof of identity.

What is a 'reduced' user-agent?

Chrome's freeze plan (rolling out since 2020) gradually strips version detail from the default UA: the minor version pinned to 0 and most device information removed, giving something like Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36. The goal is limiting passive fingerprinting; precise data moved to opt-in Client Hints.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}