# webgl fingerprinting survey excerpts: https://kdashg.github.io/misc/webgl/fingerprint-v1.html
These are all from early 2020, which is why RENDERER still shows unbucketed in Firefox, and why iPhone didn't support WebGL2.
## Intel GPUs generally share pixel hash results, even across OSes (and APIs!)
### ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)
```json
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (Intel(R) UHD Graphics 630 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
}
]
}
```
### Mesa DRI Intel(R) Haswell Mobile
```json
{
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:75.0) Gecko/20100101 Firefox/75.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "Mesa DRI Intel(R) Haswell Mobile ",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "Mesa DRI Intel(R) Haswell Mobile ",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "Mesa DRI Intel(R) Haswell Mobile ",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "Mesa DRI Intel(R) Haswell Mobile ",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
}
]
}
```
### Intel(R) Iris(TM) Plus Graphics 655
```json
{
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:75.0) Gecko/20100101 Firefox/75.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "Intel(R) Iris(TM) Plus Graphics 655",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "Intel(R) Iris(TM) Plus Graphics 655",
"pixel_hash": "85a84610938fb26a59069cfc6070f9fbbbb8a9e5"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "Intel(R) Iris(TM) Plus Graphics 655",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "Intel(R) Iris(TM) Plus Graphics 655",
"pixel_hash": "dbc7de02fdc7be37a132c0072feae36f2e9f6ca2"
}
]
}"
```
## Sometimes same Vendors are mixed with matches and differences
### AMD HAWAII (DRM 2.50.0, 5.3.11-arch1-1, LLVM 9.0.0)
```json
{
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "AMD HAWAII (DRM 2.50.0, 5.3.11-arch1-1, LLVM 9.0.0)",
"pixel_hash": "a5d74098fc56bec6faa7f0be7d09138dec4688dd"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "AMD HAWAII (DRM 2.50.0, 5.3.11-arch1-1, LLVM 9.0.0)",
"pixel_hash": "a5d74098fc56bec6faa7f0be7d09138dec4688dd"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "AMD HAWAII (DRM 2.50.0, 5.3.11-arch1-1, LLVM 9.0.0)",
"pixel_hash": "c6e994c015ce8bab120f9754a356cd514d59e08e"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "AMD HAWAII (DRM 2.50.0, 5.3.11-arch1-1, LLVM 9.0.0)",
"pixel_hash": "c6e994c015ce8bab120f9754a356cd514d59e08e"
}
]
}
```
### AMD Radeon (TM) Pro WX 7100 Graphics (POLARIS10, DRM 3.27.0, 5.0.0-32-generic, LLVM 8.0.0)
```json
"user_agent": "Mozilla/5.0 (X11; Linux x86_64; rv:74.0) Gecko/20100101 Firefox/74.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "AMD Radeon (TM) Pro WX 7100 Graphics (POLARIS10, DRM 3.27.0, 5.0.0-32-generic, LLVM 8.0.0)",
"pixel_hash": "a5d74098fc56bec6faa7f0be7d09138dec4688dd"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "AMD Radeon (TM) Pro WX 7100 Graphics (POLARIS10, DRM 3.27.0, 5.0.0-32-generic, LLVM 8.0.0)",
"pixel_hash": "a5d74098fc56bec6faa7f0be7d09138dec4688dd"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "AMD Radeon (TM) Pro WX 7100 Graphics (POLARIS10, DRM 3.27.0, 5.0.0-32-generic, LLVM 8.0.0)",
"pixel_hash": "c6e994c015ce8bab120f9754a356cd514d59e08e"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "AMD Radeon (TM) Pro WX 7100 Graphics (POLARIS10, DRM 3.27.0, 5.0.0-32-generic, LLVM 8.0.0)",
"pixel_hash": "c6e994c015ce8bab120f9754a356cd514d59e08e"
}
]
}
```
### ANGLE (AMD, Radeon RX 570 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.21026.2006)
```json
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (AMD, Radeon RX 570 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.21026.2006)",
"pixel_hash": "8508f8833b0551619388f85b5b47f24cbf9c46fb"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (AMD, Radeon RX 570 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.21026.2006)",
"pixel_hash": "8508f8833b0551619388f85b5b47f24cbf9c46fb"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (AMD, Radeon RX 570 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.21026.2006)",
"pixel_hash": "d898d9466b39a39a2e6ec918e0dff955e4a6c826"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (AMD, Radeon RX 570 Series Direct3D11 vs_5_0 ps_5_0, D3D11-27.20.21026.2006)",
"pixel_hash": "d898d9466b39a39a2e6ec918e0dff955e4a6c826"
}
]
},
```
## But no two Vendors end up with the same hashes (so far)
### ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)
```json
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "02683e9c0c04fadb230cd838878d8c58df403f3f"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "02683e9c0c04fadb230cd838878d8c58df403f3f"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "ea64851ac21fb1358b77feb550eb4188d82698bb"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "ea64851ac21fb1358b77feb550eb4188d82698bb"
}
]
}
```
### ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)
```json
{
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/20100101 Firefox/74.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "02683e9c0c04fadb230cd838878d8c58df403f3f"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "02683e9c0c04fadb230cd838878d8c58df403f3f"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "ea64851ac21fb1358b77feb550eb4188d82698bb"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "ANGLE (NVIDIA GeForce GTX 980 Ti Direct3D11 vs_5_0 ps_5_0)",
"pixel_hash": "ea64851ac21fb1358b77feb550eb4188d82698bb"
}
]
}
```
### Adreno (TM) 512
```json
{
"user_agent": "Mozilla/5.0 (Android 10; Mobile; rv:77.0) Gecko/77.0 Firefox/77.0",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "Adreno (TM) 512",
"pixel_hash": "5e2f6febf3ca0e47a320d2a4061a867949751e2a"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "Adreno (TM) 512",
"pixel_hash": "5e2f6febf3ca0e47a320d2a4061a867949751e2a"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "Adreno (TM) 512",
"pixel_hash": "36fb9da0c5385ee3231ae7e81cc30d506d6310b4"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "Adreno (TM) 512",
"pixel_hash": "36fb9da0c5385ee3231ae7e81cc30d506d6310b4"
}
]
}
```
### Adreno (TM) 540
```json
{
"user_agent": "Mozilla/5.0 (Linux; Android 10; PH-1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.99 Mobile Safari/537.36",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "Adreno (TM) 540",
"pixel_hash": "5e2f6febf3ca0e47a320d2a4061a867949751e2a"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": "Adreno (TM) 540",
"pixel_hash": "5e2f6febf3ca0e47a320d2a4061a867949751e2a"
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "Adreno (TM) 540",
"pixel_hash": "36fb9da0c5385ee3231ae7e81cc30d506d6310b4"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": "Adreno (TM) 540",
"pixel_hash": "36fb9da0c5385ee3231ae7e81cc30d506d6310b4"
}
]
}
```
### Apple GPU (iPhone 6S)
```json
{
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.5 Mobile/15E148 Safari/604.1",
"list": [
{
"type": "webgl",
"attribs": {
"antialias": false
},
"renderer": "Apple GPU",
"pixel_hash": "d54e19b4f33ee1fae7b8d80529bce072e55e1670"
},
{
"type": "webgl2",
"attribs": {
"antialias": false
},
"renderer": null
},
{
"type": "webgl",
"attribs": {
"antialias": true
},
"renderer": "Apple GPU",
"pixel_hash": "9918e77ba1cde84185d28bdcf0d995318ee73041"
},
{
"type": "webgl2",
"attribs": {
"antialias": true
},
"renderer": null
}
]
},
```