Skip to main content
WizTools123
WizTools123
Free Online Tools

Tool Categories


Developer Tools New Tool

Free Online User Agent Parser, Browser, Engine and Device

Paste a User-Agent string and read what it claims: browser and version, engine and version, operating system and version, device type, and whether it is a known bot. The rules are ordered so that the pretending in these strings is handled, since Edge claims to be Chrome and Chrome claims to be Safari.

Free Forever Nothing Uploaded Handles the pretending Parsed in your browser
Free Online User Agent Parser, Browser, Engine and Device
Share this tool
Advertisement Slot (Top Banner) Google AdSense Unit • Responsive Banner
User Agent Parser Everything happens in this tab. Nothing you paste is sent anywhere.
User-Agent string
What it says
Shortcuts

- bot

Browser-
Engine-
Operating system-
Device type-
Known bot-
Rule that matched-

navigator.userAgentData in this browser

Reading it now.

Buy Us A Coffee

Enjoying WizTools123? Help keep our server infrastructure 100% free and open for everyone.

Buy Us A Coffee
Sponsored Content (Below Tool) Google AdSense Placement

Why These Strings Lie

Thirty years of one browser pretending to be another.

In the 1990s some sites served frames only to Netscape, whose UA string began Mozilla. Internet Explorer wanted the frames, so it called itself Mozilla/4.0 (compatible; MSIE 4.0). That worked, so everybody copied it. When WebKit arrived it claimed to be like Gecko, when Chrome arrived it claimed to be Safari, and when Edge moved to Chromium it added Edg/ at the end of a string that already claimed to be both Chrome and Safari.

The result is that nearly every modern string names three or four browsers, and only the last token is true. That is why the order of the matching rules is the whole job. A parser that checks for Chrome before checking for Edge reports every Edge visitor as Chrome, and one that checks Safari first reports almost everybody as Safari.

Two more things worth knowing. Chrome has frozen much of its string: the minor version digits are reported as 0.0.0 and the platform detail no longer changes, so the string cannot tell you the exact build. And Safari on macOS has reported Mac OS X 10_15_7 since 2020 whatever the real version is. If your code needs to know something real, use client hints or feature detection.

How to Parse a User Agent String

A few steps, and nothing is uploaded.

1
Paste a string Out of an access log, an analytics export, or a bug report. Press Use my own to load the one this browser is sending right now.
2
Read the table Browser and version, engine and version, operating system and version, device type, and whether the string belongs to a known bot or tool.
3
Check which rule matched The last row names the token the parser keyed on, so you can see why the answer came out as it did rather than trusting it blindly.
4
Compare with client hints The panel below shows what navigator.userAgentData reports in your browser, which is the modern and more honest source for the same facts.

What to Know About User Agent Strings

Including why you should not build anything important on one.

The UA string is unreliable by design, and always has been. Any client can send anything, extensions rewrite it, privacy browsers normalise it, and browsers have spent thirty years deliberately claiming to be each other. Treat the result here as what the client says about itself, not as a fact about the client.
Chrome has frozen most of its string, so precision is gone. The minor version digits are reported as zeroes, the macOS version stopped moving at 10.15.7, and the platform detail is deliberately blunt. A parser cannot recover what the browser no longer sends. Client hints, shown in the panel on this page, are the replacement.
Feature detection is the right approach for anything that matters. If you need a capability, test for the capability: check that the function or the property exists before using it. Deciding what to serve from a browser name is how sites end up broken in a browser that was perfectly capable, and it is why UA sniffing has left a trail of blocked users behind it.
This recognises known patterns, and only those. A new browser, a rewritten string, or a crawler that is not in the list will come back as unknown, or as whatever it is pretending to be. There is no hidden database and no lookup service, so a string nothing matches is reported honestly as unmatched rather than guessed at.

Key Features & Capabilities

What this tool does, and what it deliberately does not.

Ordered rules Edge, Opera, Samsung and Yandex are checked before Chrome, and Safari last.
Engine and version Blink, WebKit, Gecko, Trident and EdgeHTML with their version numbers.
Operating systems Windows NT numbers translated, macOS, iOS, Android, ChromeOS and Linux.
Bots and tools Search crawlers, social previews, AI crawlers, curl, Postman and headless Chrome.
Your own string One button loads what this browser sends, with client hints beside it.
Nothing is sent Matching happens in your browser. No lookup service, no request.

About the User Agent Parser

A User-Agent string is a single line in which a browser describes itself, and it is the least trustworthy line in HTTP. It exists because early sites decided what to serve based on it, and browsers responded by claiming to be whatever got them the good version of the page. Nobody has ever been able to undo that, so the strings have grown longer and less honest with every generation.

This page parses one anyway, because logs are full of them. The rules are written out rather than pulled from a library, and they run in a deliberate order: crawlers and tools first, then the browsers that name other browsers in their strings, then Chrome, then Safari, which has to be last because almost everything claims to be Safari. The row that says which rule matched is there so you can check the reasoning.

Alongside it the page shows what navigator.userAgentData reports in your own browser, including the high-entropy values where they are available. Those come from an API rather than a string, cannot be scraped out of a log, and are what you should be using in new code. Everything happens locally; the string never leaves the tab.

Frequently Asked Questions

Impersonation, frozen versions, client hints and bots.

Because Edge sends a string that contains Chrome/ and Safari/ as well as Edg/, and a parser that tests for Chrome first finds it first. The only fix is ordering: check for the specific tokens such as Edg, OPR, SamsungBrowser and YaBrowser before you check for Chrome. This page does that, and tells you which token it used.

Chrome has frozen the minor version digits in its UA string, deliberately, to reduce the amount of identifying information a page can collect passively. The major version is real, the rest is zeroes. If you need the full version, use client hints, where a site can ask for the full version list and the user agent can decline.

Only as far as honest bots are concerned. Googlebot, Bingbot and the big crawlers identify themselves clearly, and those are recognised here. Anything that wants to hide will send an ordinary browser string, and no string parser can detect that. Real bot detection uses reverse DNS on the address, request patterns and rate, not the UA header.

Client hints are a set of Sec-CH-UA request headers and a matching navigator.userAgentData API that report the same facts in a structured way. The low-entropy parts, brand, mobile flag and platform, are sent by default; anything more detailed has to be asked for. For new code they are better than parsing a string, although they are not available in every browser and are not in your old logs.

Safari on iPad has requested desktop sites by default since iPadOS 13, and part of that is sending a macOS-looking string. The usual way to tell them apart is that an iPad still reports a touch screen, so checking navigator.maxTouchPoints alongside the string is the practical test. From the string alone, an iPad in that mode genuinely is indistinguishable from a Mac.

Other Developer Tools

Advertisement Slot (Bottom Banner) Google AdSense Unit • Responsive Banner