Every website you visit can read a surprising amount of information without any permission prompt. Combined, these values often identify your browser almost uniquely, with no cookies needed.
🕵️ Try it: What your browser knows about you shows your own values live.
| Signal | JavaScript / source | Notes |
|---|---|---|
| IP address | Every HTTP request | Reveals approximate location and ISP |
| User agent | navigator.userAgent |
Browser, version, OS |
| Language | navigator.language(s) |
|
| CPU cores | navigator.hardwareConcurrency |
|
| Device memory | navigator.deviceMemory |
Chromium only, rounded |
| Screen | screen.width/height, colorDepth |
|
| Timezone | Intl.DateTimeFormat().resolvedOptions().timeZone |
|
| Network | navigator.connection |
Chromium only |
| Battery | navigator.getBattery() |
Chromium only |
| Canvas / WebGL | Render hidden graphics, hash the pixels | Differs per GPU, driver and fonts |
const fingerprint = {
ua: navigator.userAgent,
lang: navigator.language,
cores: navigator.hardwareConcurrency,
memory: navigator.deviceMemory,
screen: `${screen.width}x${screen.height}x${screen.colorDepth}`,
tz: Intl.DateTimeFormat().resolvedOptions().timeZone,
};
console.log(fingerprint);
privacy.resistFingerprinting for the strict version