Sadevz User Agent Parser

100% client-side, nothing ever leaves your browser

User Agent Parser & Decoder

Paste any user-agent string — or use the one this page auto-detected from your browser — and decode the browser, version, rendering engine, operating system, device type and CPU architecture. Instant, private, 100% client-side.

Parse a User Agent No sign-up. No server calls.

How user-agent parsing works

UAParser.js matches known patterns in the string against a large database of browser, OS, and device signatures.

1

Paste a user agent

Paste any user-agent string, pick a sample, or use your own browser's string.

2

Automatic parsing

Browser, OS, device type, engine, and a heuristic bot check are all computed immediately.

3

Copy the result

Copy the full parsed result as JSON for use in a bug report or log analysis.

Privacy note: parsing happens entirely in your browser using a JavaScript library loaded from a CDN. The string you enter is never sent to a server.

Common uses

Debugging browser-specific bugs

Decode a user-agent string from a bug report or support ticket to identify the exact browser and OS involved.

Reading server access logs

Understand which browsers and devices are hitting your server by parsing raw user-agent strings from logs.

Spotting crawler traffic

Get a quick heuristic read on whether a request came from a known bot or crawler.

Testing responsive design assumptions

Check how a specific mobile or tablet user agent would be classified by device-detection logic.

What is a user agent?

A user agent is the software acting on your behalf when it makes an HTTP request — normally a web browser, but also crawlers, command-line tools and libraries. Each request carries a User-Agent header: a single free-form string the client sends to identify itself. The server, or a script like this one, can read that string to guess the browser, engine, operating system and device.

Anatomy of a user-agent string

A typical desktop Chrome string, broken into the tokens a parser looks at:

User-agent string tokens
Token Meaning
Mozilla/5.0Legacy compatibility token. Present in almost every browser and carries no real information.
(Windows NT 10.0; Win64; x64)Platform block — operating system and CPU architecture.
AppleWebKit/537.36 (KHTML, like Gecko)Engine heritage token — Blink forked from WebKit, so it still claims WebKit for compatibility.
Chrome/126.0.0.0The actual browser and its (now reduced) version number.
Safari/537.36Another compatibility token kept so old Safari-sniffing code still works.

This is why hand-rolled regex detection is fragile: the string is full of deliberately misleading tokens for backward compatibility. Use a maintained parser.

User-agent examples

Example user-agent strings by client
Client User-agent string
Chrome / WindowsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36
Safari / iPhoneMozilla/5.0 (iPhone; CPU iPhone OS 17_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.5 Mobile/15E148 Safari/604.1
Firefox / macOSMozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Chrome / AndroidMozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Mobile Safari/537.36
GooglebotMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Parsing user agents in JavaScript

This tool uses UAParser.js. The same call in your own code:

javascript
import { UAParser } from 'ua-parser-js';

const ua = navigator.userAgent;            // or a string from a server log
const { browser, engine, os, device, cpu } = UAParser(ua);

console.log(browser.name, browser.version); // "Chrome" "126.0.0.0"
console.log(os.name, os.version);           // "Windows" "10"
console.log(device.type || 'desktop');      // "mobile" | "tablet" | undefined

// Prefer precise data from Client Hints where available (Chromium, HTTPS):
if (navigator.userAgentData) {
  const high = await navigator.userAgentData
    .getHighEntropyValues(['platformVersion', 'model']);
  console.log(high.platformVersion, high.model);
}

Browser detection limitations

  • The string is self-reported. Any client can send anything — extensions, privacy tools and scripts routinely change it.
  • UA reduction. Chrome, Edge and other Chromium browsers now freeze most of the string and round the OS version and device model down, so "Windows NT 10.0" no longer means Windows 10 specifically.
  • Client Hints replace it. Detailed values are moving to navigator.userAgentData and the Sec-CH-UA-* request headers, which are only sent over HTTPS and only by supporting browsers.
  • Device type is inferred. "Desktop" usually just means "no mobile or tablet token was found", not a positive identification.
  • Prefer feature detection. For deciding what code to run, test for the capability you need rather than guessing from the browser name.

Frequently asked questions

How accurate is user-agent parsing?

User-agent strings are self-reported by the browser and can be spoofed or blank, so parsing them is a best-effort interpretation rather than a guarantee. Results are generally reliable for real, unmodified browser strings.

How is device type determined?

The parser looks for known mobile, tablet, TV, and other device signatures in the string. When no such signature is found, the device is inferred to be a desktop, since that's the most common case rather than a directly confirmed fact.

Is bot detection reliable?

Bot detection here is a heuristic check against known crawler and bot name patterns, such as Googlebot or curl. It can miss bots that disguise themselves with a normal browser string and may occasionally flag unusual legitimate clients, so treat the result as a signal, not a certainty.

What is a rendering engine?

The rendering engine, such as Blink, Gecko, or WebKit, is the underlying software that lays out and displays web pages. Multiple browsers can share the same engine, for example Chrome and Edge both use Blink.

Is my user-agent string sent anywhere?

No. Parsing happens entirely in your browser using a JavaScript library loaded from a CDN. The string you enter is never sent to a server.

Can I check my own browser's user agent?

Yes. The page auto-fills your current browser's actual user-agent string on load, and the "Use my browser" button re-fills it at any time.

How do I parse a user-agent string in JavaScript?

Use a maintained library such as UAParser.js: const parser = new UAParser(uaString); const result = parser.getResult(); which returns browser, engine, os, device and cpu objects. See the code example above. Writing your own regex is fragile because user-agent strings deliberately contain misleading tokens like the word "Mozilla" in every browser.

Why is user-agent detection considered unreliable now?

Chrome and other Chromium browsers have frozen and reduced the user-agent string, so it no longer reports a precise OS version or device model. Detailed values now come from the User-Agent Client Hints API (navigator.userAgentData) instead, and only over HTTPS. Feature detection is preferred over user-agent sniffing wherever possible.

Copied