HandyBench

User Agent Parser

See what is my user agent — or parse any UA string.

Detecting…
Browser
—
Rendering engine
—
Operating system
—
Device type
desktop
Device vendor
—
Device model
—
CPU architecture
—

Parsing runs entirely in your browser — no user-agent string is ever sent to a server.

How to use the User Agent Parser

  1. 1 Your own browser’s user agent is parsed automatically on load.
  2. 2 Paste any other user-agent string into the box to parse it instead.
  3. 3 Read the browser, rendering engine, OS and device details, and copy the raw string.

How a user agent string is read

A user agent is the User-Agent HTTP header, also available to scripts as navigator.userAgent. This page runs it through the open-source ua-parser-js library, which applies lists of regular expressions to find the browser, rendering engine, operating system, CPU and device. Seven fields are shown: browser, engine, operating system, device type, vendor, model and CPU architecture. If a field cannot be determined it shows a dash. The one exception is device type, which reads "desktop" when the parser finds no device information.

Worked example

Parsing a typical Windows Chrome string and an iPhone Safari string gives these results, taken from the library's actual output:

FieldWindows ChromeiPhone Safari
BrowserChrome 124.0.0.0Mobile Safari 17.4
EngineBlink 124.0.0.0WebKit 605.1.15
OSWindows 10iOS 17.4
Device typedesktopmobile
Vendor / modelnoneApple / iPhone
CPUamd64none

Why the answers are often vague

  • Every string starts with "Mozilla/5.0". That token is a historical leftover from the browser wars, and Chrome's string also says "Safari" and "like Gecko" so old sites would serve it modern pages. The parser must look past all of this.
  • Windows 11 reports as Windows 10. Both use Windows NT 10.0 in the string. Distinguishing them needs User-Agent Client Hints, which this page does not read.
  • Chromium has reduced its strings. The minor version is shown as 0.0.0, and recent Android strings show the placeholder model K, as in the Android Chrome sample. Treat versions and models from modern Chrome as approximate.
  • iPadOS 13 and later sends a Mac-style string by default in Safari, so an iPad can parse as a Mac.
  • Bots such as Googlebot are not browsers, and the parser returns mostly empty fields for them. Match them separately on the raw string.

Using the tool

Leave the paste box empty to parse your own browser's string, which also appears at the top with a copy button. Paste a string from a server log, a bug report or an analytics export to parse that one instead, and clear the box to return to your own. A user agent is sent by the client, so it can be edited or faked and should be used for display and analytics, never for security checks. To look at network-level details of your own connection, see What is my IP.

Examples

  • ▸ Checking "what is my user agent" for a bug report.
  • ▸ Parsing a UA string from server logs to identify the visitor’s browser and device.

Frequently asked questions

What is a user agent string?

It is a short piece of text every browser sends with each request, identifying the browser, its version, the rendering engine, and the operating system — sites use it for compatibility and analytics.

What is my user agent?

This tool shows it automatically as soon as the page loads, using your browser’s own navigator.userAgent value — no need to search for it elsewhere.

Why do two browsers on the same device show different device info?

User agent strings are self-reported by the browser and can be incomplete or spoofed (for example, in "desktop site" mode), so device detection is a best-effort guess, not a guarantee.

Why does every user agent start with "Mozilla/5.0"?

It is a historical leftover from the early browser wars, when sites sent better pages to anything claiming to be Netscape (codename Mozilla). Every major browser kept the token for compatibility, so it tells you nothing on its own.

Why does Windows 11 show up as Windows 10?

Both versions send "Windows NT 10.0" in the user agent string. Telling them apart needs User-Agent Client Hints, which this parser does not read. Chrome also freezes parts of the string, so versions and Android models can be approximate.

Is the string I paste sent anywhere?

No. Parsing runs entirely in your browser with a local library, so any user-agent string you paste never leaves your device.