Browser / device identification - how to find out which browser and device have been used to submit a response

In some circumstances you may want to identify which device and/or browser your respondents are using to answer your online survey. As you will see below, there is no very reliable method of doing this, so it's only really worth doing to analyse problems that individual respondents are having, rather than for doing broader analysis.

Where to find the browser information and what it means

If you export responses from your activity as an .xlsx file (see here for how to do this), you will notice that there is a field towards the end of the response called 'browser identification'. However, for a variety of reasons, it is hard to work out the browser simply from the text in this field, which might look something like:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36

This is what is actually called a 'User Agent': most Web browsers typically use a User-Agent value something like: Mozilla/[version] ([system and browser information]) [platform] ([platform details]) [extensions]. In short, the browser is only part of the user agent value, and it takes a little bit of figuring out, as there is no uniformity of the different parts of the user agent.

Determining exactly which browser and device type were used based on a submitted user agent isn't entirely an exact science. The user agent field is often deliberately obfuscated to discourage feature detection and even then can vary depending on the installed plugins. It can also be an outright lie - browsers may 'pretend' to be different ones.

To figure out which browser is being used (or at least claims to be being used), you will need to look both for what is included and what is not included in the user agent value.

The 'Browser Name' section of the MDN Web Docs article on 'Browser detection using the user agent' is a reasonably good reference, which we have paraphrased below. The table below is copied from there, and is a rough guide to recognising browser and version from user agent values:

Browser Must contain Must not contain Version note
Firefox Firefox/xyz Seamonkey/xyz  
Seamonkey Seamonkey/xyz    
Chrome Chrome/xyz Chromium/xyz  
Chromium Chromium/xyz    
Safari Safari/xyz Chrome/xyz or Chromium/xyz Safari gives two version number, one technical in the Safari/xyz token, one user-friendly in a Version/xyz token

OPR/xyz [1]



[1] Opera 15+ (Blink-based engine)

[2] Opera 12- (Presto-based engine)

Internet Explorer

; MSIE xyz; [1]

Trident/7.0; .*rv:xyz [2]


[1] Internet Explorer 10-

[2] Internet Explorer 11


Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36

Contains 'Chrome', but not 'Chromium' - so it would appear to be Chrome version 32.0

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)

Containes MSIE 8.0 - so looks like Internet Explorer 8.

Mozilla/5.0 (Windows NT 5.1; rv:32.0) Gecko/20100101 Firefox/32.0

Contains Firefox/32.0 - it should be Firefox 32.0

If in doubt, doing a google search for the full user agent (in quotes) will almost always bring something up that will tell you what browser it is. However as mentioned above, there is no guarantee that the browser is what it says it is — the information is there to diagnose problems with individual responses, not any higher level analysis.

Mobile, Tablet or Desktop

In a similar way, the user agent value can tell us what device the browser was running on. The table below summarises the way major browser vendors indicate that their browsers are running on a mobile device:

Common browsers User Agent strings

Browser Rule Example
Mozilla (Gecko, Firefox) Mobile or Tablet token in the comment. Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0
WebKit-based (Android, Safari) Mobile Safari token outside the comment. Mozilla/5.0 (Linux; U; Android 4.0.3; de-ch; HTC Sensation Build/IML74K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
Blink-based (Chromium, Google Chrome, Opera 15+, Edge on Android) Mobile Safari token outside the comment. Mozilla/5.0 (Linux; Android 4.4.2); Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Mobile Safari/537.36 OPR/20.0.1396.72047
Presto-based (Opera 12-) Opera Mobi/xyz token in the comment (Opera 12-) Opera/9.80 (Android 2.3.3; Linux; Opera Mobi/ADR-1111101157; U; es-ES) Presto/2.9.201 Version/11.50
Internet Explorer IEMobile/xyz token in the comment. Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0)
Edge on Windows 10 Mobile Mobile/xyz & Edge/ tokens outside the comment. Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Mobile Safari/537.36 Edge/16.16299

In summary, we recommend looking for the string 'Mobi' anywhere in the User Agent to detect a mobile device.

Google analytics

It's worth noting that if you have Google Analytics set up on your site, you can also use it to trace which browsers and devices have been used to access your site.