What Does Your User Agent Say About You?


A user agent is a computer program representing a person, for example, a browser in a Web context.

Besides a browser, a user agent could be a bot scraping webpages, a download manager, or another app accessing the Web. Along with each request they make to the server, browsers include a self-identifying User-Agent HTTP header called a user agent (UA) string. This string often identifies the browser, its version number, and its host operating system.

Spam bots, download managers, and some browsers often send a fake UA string to announce themselves as a different client. This is known as user agent spoofing.

The user agent string can be accessed with JavaScript on the client side using the navigator.userAgent property.

A typical user agent string looks like this: "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0".


User Agent String

Browser Data

User Agent Like Gecko

Daniel Brown
• Monday, 30 November, 2020
• 8 min read

The Chrome (or Chromium/Blink-based engines) user agent string is similar to Firefox’s. For compatibility, it adds strings like HTML, likeGecko and Safari.



The Opera browser is also based on the Blink engine, which is why it almost looks the same, but adds “Or/”. In this example, the user agent string is mobile Safari’s version.

Platform identifiers change based on the operating system being used, and version numbers also increment as time passes. Mapping UA string tokens to a more human-readable browser name for use in code is a common pattern on the web today.

When mapping the new Edge token to a browser name, Microsoft recommends using a different name than the one developer used for the legacy version of Microsoft Edge to avoid accidentally applying any legacy workarounds that are not applicable to Chromium-based browsers. When Microsoft is notified about these types of issues, website owners are contacted and informed about the updated UA.

Your browser sends the user agent to every website you connect to. There is no conventional way of writing an user agent string as different browsers use different formats and many web browsers load a lot of information onto their user agents.

Google Chrome Internet Explorer Firefox Safari Opera See your article appearing on the GeeksforGeeks main page and help other Geeks.

comments string agent user gecko khtml applewebkit mozilla switch

Firefox OS phones say Mobile “; the web is the platform. On Desktop, gecko trail is the fixed string 20100101 Firefox/ firefoxversion indicates the browser is Firefox, and provides the version (such as 17.0 “).

Firefoxversion will generally represent the equivalent Firefox release corresponding to the given Gecko version. The platform part of the UA string indicates if Firefox is running on a phone-sized or tablet device.

When Firefox runs on a device that has the phone form factor, there is a Mobile; token in the platform part of the UA string. The preferred way to target content to a device form factor is to use CSS Media Queries.

This way, your code will work if/when Firefox ships on other phone/tablet operating systems or Android is used for laptops. Firefox OS devices identify themselves without any operating system indication; for example: “Mozilla/5.0 (Mobile; RV:15.0) Gecko /15.0 Firefox/15.0”.

Firefox TV version Sergeant string v3.0Mozilla/5.0 (Linux; Android 7.1.2) Apple WebKit/537.36 (HTML, likeGecko) Version/4.0 Focus/3.0 Chrome/59.0.3017.125 Safari/537.36 From version 1.1, Firefox for Echo Show uses an user agent string with the following format: Some of them we have noticed are of the form Nelson; “, Reopen; “, or Open C; (note that putting space is also discouraged).

browser user agent applewebkit gecko safari chrome

Firefox OS version number Gecko version number1.'s easy to find the correspondences by looking at the Mercurial repository names : repositories starting by mozilla-b2g are the release repositories for Firefox OS, and have both Firefox OS and Gecko versions in their names. The first two digits are owned by the Mozilla product team and denote versions with new features (e.g.: v1.1, 1.2, etc).

The third digit is incremented with regular version tags (about every 6 weeks) for security updates, and the fourth is owned by the OEM. These are some sample UA strings from other Gecko -based browsers on various platforms.

Identifier preferences, (see the obsolete Sergeant Strings Reference). In the past, specific plug-ins, add-ons or extensions added user agent parts to notify sites they were installed.

The recommended way to do this, if it's absolutely necessary (remember that it slows down every request) is to set a custom HTTP header. Google Chrome runs on a variety of operating systems and platforms, so while the version number tends to be fairly similar across platforms, the actual structure of it can be quite varied.

Device Atlas Cloud offer a great way to start detecting mobile device traffic to your site: Look around to find user agents for whatever browser, operating system, device, software type or layout engine you need.


I just noticed that while all other browsers seem to have their own user agent strings, Microsoft Edge's seems to look something like this: Webpage designers are simply lazy, and they attempt to block visitors from using specific browsers, because they want to use the easier framework which is only supported by certain browsers.

Since Edge/Spartan was Microsoft's first attempt to modernize the Trident engine, and Edge/Spartan's purpose was to match the feature set of (Blink, Apple WebKit, and Gecko) at the time, the user agent simply advertising itself as being everything is one way to prevent Webpage designers from easily targeting Edge the same way they targeted IE. Some pages will display incorrectly in IE while working perfectly fine on other browsers such as Chrome or Firefox.

Neo win recently reported that Microsoft’s new browser for Windows 10, Spartan, uses the Chrome UA string, “Mozilla/5.0 (Windows NT 10.0; WOW64) Apple WebKit/537.36 (HTML, likeGecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0. Often, web developers will UA sniffing for browser detection.

There are ways to develop your website to progressively enhance itself based on the availability of features rather than by targeting specific browsers. Often, lazy developers will just sniff for the UA string and disable content on their website based on which browser they believe the viewer is using.

Internet Explorer 8 is a common point of frustration for developers, so they will frequently check if a user is using ANY version of IE, and disable features. The sergeant property has been aptly described as “an ever-growing pack of lies” by Patrick H. Lake in W3C discussions.

agent user log entries learned analyzed billion

(“or rather, a balancing act of adding enough legacy keywords that won’t immediately have old UA-sniffing code falling over, while still trying to convey a little of actually useful and accurate information.”) For example, the Modernize library is a fantastic and simple way of detecting features.

Over the past year, we’ve seen some UA-sniffing sites that have been updated to detect Microsoft Edge… only to provide it with a legacy IE11 code path. In our experience Microsoft Edge runs best on the ‘WebKit’ code paths in these sites.

Related Videos

Other Articles You Might Be Interested In

01: Bing Bot User Agent
02: Edge Android Change User Agent
03: Edge Browser User Agent Switcher
04: Edge Change User Agent To Chrome
05: Edge Chrome Change User Agent
06: Edge Chrome Switch User Agent
07: Edge Chromium Chrome User Agent
08: Edge Chromium Modify User Agent
09: Edge Chromium Set User Agent
10: Edge Mobile User Agent String
1 -
2 -
3 -
4 -
5 -
6 -
7 -
8 -