The User-Agent (UA) string is contained in the HTTP headers and is intended to identify devices requesting online content. The User-Agent tells the server what the visiting device is (among many other things) and this information can be used to determine what content to return. Of course this requires using a device detection solution which translates UAs into understandable software and hardware information.
Geckodriver is made available under the Mozilla Public License. Its source code can be found in mozilla-central under testing/geckodriver. This GitHub repository is only used for issue tracking and making releases.
There are millions of User-Agent combinations given that UAs change with the software and hardware. For example, a Chrome browser on an iPhone 6 will introduce itself using a different UA than a Safari browser on the same phone.
Every device type, including phones, tablets, desktops, may come with its own UA that makes it possible to detect this device for any purpose. Interestingly bots and crawlers also come with their unique UAs.
Here is a list of example User-Agents for different device types that can be detected. If you’d like to learn more on these devices, just copy and paste the UAs to our User-Agent testing tool. You’ll see all the properties of a detected device.
| Samsung Galaxy S9 |
|---|
| Mozilla/5.0 (Linux; Android 8.0.0; SM-G960F Build/R16NW) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.84 Mobile Safari/537.36 |
| Samsung Galaxy S8 |
|---|
| Mozilla/5.0 (Linux; Android 7.0; SM-G892A Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Mobile Safari/537.36 |
| Samsung Galaxy S7 |
|---|
| Mozilla/5.0 (Linux; Android 7.0; SM-G930VC Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/58.0.3029.83 Mobile Safari/537.36 |
| Samsung Galaxy S7 Edge |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; SM-G935S Build/MMB29K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36 |
| Samsung Galaxy S6 |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; SM-G920V Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36 |
| Samsung Galaxy S6 Edge Plus |
|---|
| Mozilla/5.0 (Linux; Android 5.1.1; SM-G928X Build/LMY47X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36 |
| Nexus 6P |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; Nexus 6P Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.83 Mobile Safari/537.36 |
| Sony Xperia XZ |
|---|
| Mozilla/5.0 (Linux; Android 7.1.1; G8231 Build/41.2.A.0.219; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/59.0.3071.125 Mobile Safari/537.36 |
| Sony Xperia Z5 |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; E6653 Build/32.2.A.0.253) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.36 |
| HTC One X10 |
|---|
| Mozilla/5.0 (Linux; Android 6.0; HTC One X10 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/61.0.3163.98 Mobile Safari/537.36 |
| HTC One M9 |
|---|
| Mozilla/5.0 (Linux; Android 6.0; HTC One M9 Build/MRA58K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.98 Mobile Safari/537.3 |
If you're wondering which devices are most common where you are, read our list of the world's most popular Android devices.
Below are examples of User Agent strings used by the most popular iPhone devices. As Apple do not pass much info through the User Agent, version numbers don't allow us differentiate between iPhone models.
However, with DeviceAtlas client-side, you can classify these user agents to return correct device model.
Download our free e-book on User Agents to learn:
For more on how to detect exact iPhone 8/8 Plus and iPhone X models, read our guides on How To Detect iPhone 8/X and how to detect the latest iPhones - the XR, XS and XS Max.
| Apple iPhone XR (Safari) |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1 |
| Apple iPhone XS (Chrome) |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/69.0.3497.105 Mobile/15E148 Safari/605.1 |
| Apple iPhone XS Max (Firefox) |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/13.2b11866 Mobile/16A366 Safari/605.1.15 |
| Apple iPhone X |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1 |
| Apple iPhone 8 |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1 |
| Apple iPhone 8 Plus |
|---|
| Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A5370a Safari/604.1 |
| Apple iPhone 7 |
|---|
| Mozilla/5.0 (iPhone9,3; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1 |
| Apple iPhone 7 Plus |
|---|
| Mozilla/5.0 (iPhone9,4; U; CPU iPhone OS 10_0_1 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) Version/10.0 Mobile/14A403 Safari/602.1 |
| Apple iPhone 6 |
|---|
| Mozilla/5.0 (Apple-iPhone7C2/1202.466; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543 Safari/419.3 |
| Microsoft Lumia 650 |
|---|
| Mozilla/5.0 (Windows Phone 10.0; Android 6.0.1; Microsoft; RM-1152) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Mobile Safari/537.36 Edge/15.15254 |
| Microsoft Lumia 550 |
|---|
| Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; RM-1127_16056) AppleWebKit/537.36(KHTML, like Gecko) Chrome/42.0.2311.135 Mobile Safari/537.36 Edge/12.10536 |
| Microsoft Lumia 950 |
|---|
| Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Microsoft; Lumia 950) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.1058 |
| Google Pixel C |
|---|
| Mozilla/5.0 (Linux; Android 7.0; Pixel C Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36 |
| Sony Xperia Z4 Tablet |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; SGP771 Build/32.2.A.0.253; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/52.0.2743.98 Safari/537.36 |
| Nvidia Shield Tablet K1 |
|---|
| Mozilla/5.0 (Linux; Android 6.0.1; SHIELD Tablet K1 Build/MRA58K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Safari/537.36 |
| Samsung Galaxy Tab S3 |
|---|
| Mozilla/5.0 (Linux; Android 7.0; SM-T827R4 Build/NRD90M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.116 Safari/537.36 |
| Samsung Galaxy Tab A |
|---|
| Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-T550 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.3 Chrome/38.0.2125.102 Safari/537.36 |
| Amazon Kindle Fire HDX 7 |
|---|
| Mozilla/5.0 (Linux; Android 4.4.3; KFTHWI Build/KTU84M) AppleWebKit/537.36 (KHTML, like Gecko) Silk/47.1.79 like Chrome/47.0.2526.80 Safari/537.36 |
| LG G Pad 7.0 |
|---|
| Mozilla/5.0 (Linux; Android 5.0.2; LG-V410/V41020c Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/34.0.1847.118 Safari/537.36 |
If you're looking for a list of mobile browser user-agents, we've got them too - List Of Mobile Browser User-Agent Strings .
| Windows 10-based PC using Edge browser |
|---|
| Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 |
| Chrome OS-based laptop using Chrome browser (Chromebook) |
|---|
| Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36 |
| Mac OS X-based computer using a Safari browser |
|---|
| Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9 |
| Windows 7-based PC using a Chrome browser |
|---|
| Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36 |
| Linux-based PC using a Firefox browser |
|---|
| Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0.1 |
For the web, native apps and mobile operator environments.
| Chromecast |
|---|
| Mozilla/5.0 (CrKey armv7l 1.5.16041) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.0 Safari/537.36 |
| Roku Ultra |
|---|
| Roku4640X/DVP-7.70 (297.70E04154A) |
| Minix NEO X5 |
|---|
| Mozilla/5.0 (Linux; U; Android 4.2.2; he-il; NEO-X5-116A Build/JDQ39) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Safari/534.30 |
| Amazon 4K Fire TV |
|---|
| Mozilla/5.0 (Linux; Android 5.1; AFTS Build/LMY47O) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/41.99900.2250.0242 Safari/537.36 |
| Google Nexus Player |
|---|
| Dalvik/2.1.0 (Linux; U; Android 6.0.1; Nexus Player Build/MMB29T) |
| Apple TV 5th Gen 4K |
|---|
| AppleTV6,2/11.1 |
.jpg?alias=standard_900x600)
| Apple TV 4th Gen |
|---|
| AppleTV5,3/9.1.1 |
| Nintendo Wii U |
|---|
| Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US |
| Xbox One S |
|---|
| Mozilla/5.0 (Windows NT 10.0; Win64; x64; XBOX_ONE_ED) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393 |
| Xbox One |
|---|
| Mozilla/5.0 (Windows Phone 10.0; Android 4.2.1; Xbox; Xbox One) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Mobile Safari/537.36 Edge/13.10586 |
| Playstation 4 |
|---|
| Mozilla/5.0 (PlayStation 4 3.11) AppleWebKit/537.73 (KHTML, like Gecko) |
| Playstation Vita |
|---|
| Mozilla/5.0 (PlayStation Vita 3.61) AppleWebKit/537.73 (KHTML, like Gecko) Silk/3.2 |
| Nintendo 3DS |
|---|
| Mozilla/5.0 (Nintendo 3DS; U; ; en) Version/1.7412.EU |
We've compiled a more in-depth list of User-Agent strings of the most active web crawlers and bots.
| Google bot |
|---|
| Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) |
| Bing bot |
|---|
| Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm) |
| Yahoo! bot |
|---|
| Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp) |
| Amazon Kindle 4 |
|---|
| Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+ |
| Amazon Kindle 3 |
|---|
| Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate) |
If you're looking for more information on User-Agents, be sure to read these posts on the DeviceAtlas blog:
Get Instant access to a DeviceAtlas Cloud trial

DeviceAtlas Cloud offer a great way to start detecting mobile device traffic to your site:
Get started with a DeviceAtlas Cloud trial today.
Some particularly useful links:
http://stackoverflow.com/questions/8778320/how-to-use-gecko-in-c-sharp
https://xinyustudio.wordpress.com/2015/07/04/embedding-web-browsers-in-winform-applications/#more-3695
See this link if you’re interested in using Gecko in a WPF project:
Installing and using the latest GeckoFX-45.0
1. Create a new WinForms application:
2. Install the GeckoFX package via NuGet
Select Tools > NuGet Package Manager > Package Manager Console
At the Package Manager Console type ‘install-package geckofx45’:
3. Insert the Gecko control into your form.
Select View > ToolBox and the new control should now be available:
If this tool does not appear then right click on the ‘General’ tab of the Toolbox and select ‘Choose items…’. The go to the COM Components tab and select the Browse button and locate and select the Geck winforms-related dll (‘Geckofx-Winforms.dll’) that would have been installed inside the ‘packages’ folder of your Visual Studio project. Then it should appear.
Drag, drop and resize this into your form.
4. Update the code and run it
Older versions (pre geckofx-45)
Step 1: Create a new Visual Studio project: a Windows Forms Application
Step 2: Download and extract pre-requisites
Download the pre-requisites needed to implement the Gecko web browser. You will need GeckoFX AND XULRunner.
At the time of writing, I choose:
GeckoFX-33.0
Extract the zip file and copy the dll files to the bin/ folder of your Visual Studio project as shown:
XULRunner 33.1
Extract the zip file and move/copy the entire xulrunner/ sub-folder (it is contained inside the extracted folder) to the bin/ directory as shown:
Step 3: Configure References
Add the references to your Visual Studio project. Right-click the References section and select Add Reference…
Select the Browse button and locate the 2 x dll files in your Visual Studio project bin/ folder:
Click Add and then click OK.
Step 4: Update the Toolbox
Now add the Items to your toolbox. Select View > Toolbox. Right-click underneath the General tab and select Choose Items…
Let it finish loading items, if necessary.
Select the Browse button and select the Winforms dll:
Click OK on the ‘Choose Toolbox Items’ dialog.
Your Toolbox should now have the ‘GeckoWebBrowser’ tool added:
Step 5: Update your WinForms code
Select this GeckoWebBrowser tool and use it to drag-and-drop the tool on to your WinForms control:
Right-click on the Form1 dialog and select Properties.
Use the Properties > Events tab to create the event handler for the ‘Load’ event:
Go to the Form1.cs file and update the .cs code to handle the ‘Load’ event.
Update Form1 constructor to run Initialise function, setting it with the relative path to the xulrunner sub-folder we installed earlier:
Step 6: Build, configure and run
Build your project. Notice the following build error I got on my x64 machine:
If you need to deal with this problems then update the Configuration Manager to deal with this mismatch:
Setting it as follows:
So it becomes:
Now rebuild and run your application. It can sometimes take a few moments for the actual web page to materialize. Example output as shown:
