Skip to content
← Back

User-Agent Parser - Online Detector

Network
Runs locally · Not uploaded

Free online User-Agent parser tool. One-click detection of browser, operating system, device type, vendor, model, and more. Supports bot/crawler detection, mobile/desktop identification, and all major browsers.

Was this result helpful?

For local tools, open DevTools → Network and search your input — it should not appear in requests.

Usage Guide

The User-Agent is the browser's one-line self-introduction on every request — and the messiest field on the internet, carrying twenty years of compatibility baggage. This tool splits a UA into browser, rendering engine, OS, device type, and CPU architecture, and flags reduced/frozen UAs. Plain-string parsing locally; Client Hints are out of scope. Copy JSON into log pipelines; this page makes no network calls.

1. Parse a UA

  1. Paste the full UA string, or use Detect My UA / the example library (desktop, mobile, reduced UA, bots).
  2. Read the breakdown: browser and version, engine, OS, device type, CPU architecture; Chromium freeze patterns show a Reduced / Frozen UA badge.
  3. Copy the structured JSON. When you need full minor versions or device model, merge Sec-CH-UA on the server (this page does not parse Client Hints).

2. Why UAs "lie"

To pass old sites' sniffing, browsers borrowed each other's keywords: Chrome contains "Safari", Edge contains both Chrome and Safari, and nearly everything claims Mozilla/5.0. Real parsers use specificity-ordered keyword matching, not "first match wins" — hand-rolled indexOf('Safari') detection is almost guaranteed to misfire; leave it to a full parser.

3. Where UA is heading

  • UA is being replaced by UA Client Hints (the Sec-CH-UA headers): modern browsers freeze minor versions by default and prefer structured headers for browser/platform info — better for privacy and far easier to parse.
  • UA-based feature gating is an anti-pattern: detect "what is supported" with feature detection; use "what browser" only for analytics and logs, never to gate functionality.
  • Mobile UAs are trivially spoofed (built-in switchers, crawlers) — never let UA be the sole signal for a critical decision.

4. Client Hints: the UA successor

Chrome is rolling out Reduced UA: the version freezes to a fixed value and real details move to Sec-CH-UA request headers served on demand. New traffic carries ever-thinner UA strings, while legacy logs, crawlers and server SDKs keep full ones — so parsing value concentrates on spotting non-standard clients: HeadlessChrome, python-requests, Go-http-client signatures are recognizable at a glance, the first sieve of traffic hygiene.

5. Bulk-parsing workflows

Two common pipelines: server-log cleanup — export the UA column, paste it here, pivot by browser/OS/device; and bot triage — a bot UA (no Mozilla prefix, Headless marker, contradictory platform/language fields) is harder to forge completely than an IP. Cache parse results: a visitor UA barely changes within a session, so per-request parsing is pure waste.

6. Reading the result fields

This page parses the User-Agent string only, not Sec-CH-UA. Merge Client Hints on the server when you need model or full minors. Copied JSON joins cleanly with access logs for browser/device pivots.

  • browser / engine / os use specificity-ordered matching so Edge is not labeled Chrome.
  • device.type is desktop / mobile / tablet / bot / unknown; isBot pairs with type=bot for log hygiene.
  • isReducedUA lights when Chromium freeze patterns match — minor versions are not trustworthy then.
  • CPU architecture comes from common trailing tokens; leave it empty when absent.

FAQ

Browser name and version, rendering engine (Blink/WebKit/Gecko/Trident), OS, device type (desktop/mobile/tablet), CPU architecture (e.g. x86_64/arm64), vendor and model when present, bot flags, and whether the string matches Chromium frozen/reduced UA heuristics. Results can be copied as structured JSON straight into log pipelines.

Yes. Built-in rules cover common search crawlers (Googlebot, Bingbot, YandexBot), social media bots, HeadlessChrome, and framework signatures such as curl, python-requests, and Go-http-client; the example library has ready-to-click samples for comparison.

No — this page only parses the pasted User-Agent string. Minor versions on Chromium frozen UAs are not trustworthy; when you need the full version or device model, merge the Sec-CH-UA header family with the UA on the server before deciding.

Because UAs famously lie: Chrome strings carry Safari tokens, Edge carries Chrome and Safari, and nearly every modern browser claims to be Mozilla/5.0. Real parsing relies on keyword matching ordered by specificity, so a hand-rolled indexOf check almost always misjudges — Edge gets counted as Chrome, for example.

browser/engine/os pick the most specific keyword found in the string; device.type reports desktop/mobile/tablet/bot/unknown, and isBot usually appears alongside type=bot for easier log cleaning; isReducedUA lights up when the string matches the Chromium frozen pattern (major version .0.0.0 plus frozen platform tokens), signaling that the minor version is unreliable; CPU architecture is left empty rather than guessed when absent.

No. The page performs pure string parsing — it makes no network requests and never writes your UA to any log or database.

Related Tools

Related Articles