User Agent Parser

Paste any User-Agent string and see the browser, OS, device type and rendering engine it identifies — starts with your own browser's, all parsed locally.

Browser —
Operating system —
Device type —
Rendering engine —

User-Agent parsing is heuristic, not exact — see the FAQ below for why.

How it works

1

Starts with your own UA

The field is pre-filled with your current browser's own navigator.userAgent value.

2

Paste any UA string

Swap in a UA string from a bug report, a server log, or anywhere else you need to decode one.

3

Read the breakdown

Browser, OS, device type and rendering engine, parsed live as you type or paste.

What people use a User-Agent parser for

User-Agent strings are dense, inconsistent, and mostly meant for machines to read — decoding one by eye is slower and less reliable than parsing it.

Debugging a browser-specific bug report

Reading traffic/analytics logs

Checking mobile vs desktop detection

Verifying a custom UA override

Learning how UA strings are structured

A few things worth knowing

A User-Agent string is a self-reported header — the browser sends whatever text it wants, and there's no enforcement mechanism keeping it honest or consistent. For historical compatibility reasons almost every modern desktop browser's UA string still contains the word "Safari" (and often "Mozilla" and "like Gecko") regardless of what it actually is, which is why real-world parsing has to check for more specific tokens (like "Edg/" or "OPR/") before falling back to the generic ones.

Browsers are also actively reducing how much they reveal by default. Chromium-based browsers have rolled out "User-Agent reduction," freezing most of the version/platform detail in the default string and pushing sites toward the newer, opt-in User-Agent Client Hints API for anything more specific. That trend means UA parsing will keep getting less precise over time by design — this tool reflects whatever the browser actually sends, nothing more.

Everything here runs with plain regular expressions against the string you provide — no external parsing library, no lookup service, and nothing you paste is sent anywhere. It's a best-effort read of a string that was never a strict, guaranteed format to begin with.

Frequently asked questions

How accurate is this parser?

It's heuristic, not authoritative. User-Agent strings are self-reported by the browser, follow no strict universal format, and are frequently spoofed, truncated, or customized by embedded webviews and less common browsers. This tool covers the common real-world cases well (Chrome, Firefox, Safari, Edge, Opera and Samsung Internet across Windows, macOS, Linux, Android and iOS) but won't correctly identify every User-Agent string that has ever existed.

What is User-Agent reduction / User-Agent Client Hints?

Chrome and other Chromium-based browsers have been progressively freezing and simplifying the information in the navigator.userAgent string — a change usually called "User-Agent reduction" — and steering developers toward User-Agent Client Hints (UA-CH) instead, a newer opt-in API that reveals detailed platform information only when a site explicitly requests it. In practice this means the default User-Agent string a modern browser sends is becoming less detailed over time, by design, for privacy reasons — so don't be surprised if a recent Chrome UA looks less specific than an older one.

Why does my own browser's User-Agent look different from what I expected?

Browsers have a long history of adding other browsers' names into their own User-Agent string for compatibility with sites that check for a specific string — that's why almost every desktop browser's UA still contains the word "Safari" and often "Mozilla" and "KHTML, like Gecko", regardless of which browser it actually is. This tool's detection order accounts for the most common cases of that, but it's part of why User-Agent parsing in general is inherently a best-effort guess.

What's the difference between the browser and the rendering engine?

The rendering engine is the underlying software that parses HTML/CSS and lays out the page — Blink (Chrome, Edge, Opera, most Android browsers), WebKit (Safari, and every browser on iOS since Apple requires it), or Gecko (Firefox). The browser is the actual application built on top of that engine. Several different browsers can share the same engine, which is why, for example, Chrome and Edge behave almost identically on most sites.

Can I trust User-Agent detection for anything security-related?

No. A User-Agent string is just a header the client sends and can be changed to anything by the person or script sending the request, so it should never be used as an access-control or authentication signal. It's reasonable for analytics, compatibility warnings, or picking a default UI layout — not for anything where a false answer has real consequences.

Is this tool free to use?

Yes, completely free, with no account, no sign-up, and everything parsed locally in your browser — the User-Agent string you paste in is never sent anywhere.