User-agent string changes
Each release of Internet Explorer updates the user-agent string; here's what's changed recently.
The Project Spartan EdgeHTML engine in Windows 10 Insider Preview and RemoteIE builds is designed for maximum interoperability with other modern browsers and contemporary web content. It has the following user-agent string:
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0
Project Spartan for Windows phone has the following user-agent string:
The Windows NT token's value changes from 6.3 to 10.0 in the EdgeHTML engine.
An Edge token is added with a value of 12.0.
An effort was made inProject Spartan to clean up the user-agent string to remove items that were no longer needed. In particular, a number of feature keys are being removed and will no-longer appear. They include:
- .NET CLR <version>
- .NET <version>
- TabletPC <version>
- Infopath <version>
- Trident <version>
For many websites, some of the most visible changes to Internet Explorer 11 involve the user-agent string. Here's what's reported for IE11 on Windows 8.1:
If you compare the IE11 user agent string to the values reported by earlier versions of Internet Explorer, you'll find the following differences:
- The compatible ("compatible") and browser ("MSIE") tokens have been removed.
- The "like Gecko" token has been added (for consistency with other browsers).
- The version of the browser is now reported by a new revision ("rv") token.
These changes help prevent IE11 from being (incorrectly) identified as an earlier version.
As with previous versions of Internet Explorer, portions of the user-agent string can vary according to the device running Internet Explorer, the operating system, and the environment. Here are a few recent examples:
- IE11 on Windows 7
Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko
- IE11 on 64-bit Windows 8.1 Update
Mozilla/5.0 (Windows NT 6.3; Win64, x64; Trident/7.0; Touch; rv:11.0) like Gecko
- IE11 for the desktop on 64-bit Windows 8.1 Update
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko
- IE11 for the desktop on 64-bit Windows 8.1 Update with enterprise mode enabled
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Tablet PC 2.0)
- IE11 for the desktop on 64-bit Windows 8.1 Update with compatibility view enabled
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; Trident/7.0; Touch)
- Project Spartan for Windows 10 Insider Preview
- Project Spartan for Windows Phone
- Internet Explorer for Windows Phone 8.1 Update
Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 520) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537
- IE11 on a Lumia 928 running Windows Phone 8.1, mobile version
Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11; IEMobile/11.0; NOKIA; Lumia 928) like Gecko
- IE on a Lumia 920 running Windows Phone 8.0, mobile version
Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; rv:11; NOKIA; Lumia 920) like Gecko
- IE on a Lumia 920 running Windows Phone 8.0, desktop version
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; ARM; Touch; WPDesktop)
IE on Xbox One
Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0; Xbox; Xbox One)
IE on Xbox 360
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; Xbox)
These examples are taken from a range of devices running the latest updates available at the time of this writing. Many factors affect the user-agent string, including OEM vendors, carriers, network administrators, and user preferences. As a result, feature detection is considered a more effective practice than browser detection for modern websites.
To learn more about user-agent variations, see:
- Windows Phone Developer Blog: Getting websites ready for IE on Windows Phone
- IE Blog: Stay up-to-date with enterprise mode for IE11
- IE developer guides for the Xbox One and the Xbox 360
In addition, many browser detection techniques can lead to false positive results when browsers are updated. (For example, support for the attachEvent method does not preclude support for the addEventListener event.) For best results, detect features as you need them and use progressive enhancement to provide simplified experiences for browsers or devices that do not support your needs.
Websites, frameworks, shims, and other libraries that rely on specific user-agent values should be updated to use alternate techniques.
In rare cases, it may be necessary to uniquely identify IE11. Use the Trident token to do so.
For Internet Explorer 10, the following changes were made to the user agent string:
- The value of the Version token ("MSIE") was changed to "10.0".
- The value of the Trident token ("Trident") became "6.0".
- For Windows 8, the value of the Platform token ("Windows NT") was changed to "6.2".
Internet Explorer 9, reflected the following changes to the user agent string:
- The application token became "Mozilla/5.0".
- The version token was updated to "MSIE 9.0".
- The Trident token updated to "Trident/5.0".
- The user-agent string was modified to exclude tokens describing tools, add-ons, and other optional software.
Earlier versions of the browser included Pre-Platform and Post-platform registry value tokens in the user-agent string. However, this led to performance issues for customers of certain tools and add-ons. As a result, these tokens are now reported only through the navigator.userAgent property.
- How to detect features Instead of browsers
- ASP.NET fails to detect Internet Explorer
- Detecting Internet Explorer more effectively