Navigator properties
Your browser describes the environment around it.
Ordinary page JavaScript can ask your browser about its identity, languages, logical processors, memory bucket, touch support, and runtime state. Each answer is modest. Together, they form a structured profile that can be recognized, cross-checked, and combined into a larger browser fingerprint.
- Permission
- Usually none
- Read by
- Page JavaScript
- Strength
- Combination + consistency
Navigator inspector
Read what this browser makes available.
This demonstration reads a small set of properties locally. The values remain in this page and are not transmitted or stored by the demonstration.
Property families
Navigator is not one signal.
The interface is a directory of browser capabilities and state. Fingerprinting code selects properties that help classify the browser, approximate the device, or test whether the surrounding story is internally consistent.
- 01Browser identity
navigator.userAgentnavigator.userAgentDatanavigator.vendornavigator.platformBrowser family, operating-system claims, device class, and implementation quirks.
- 02Hardware shape
navigator.hardwareConcurrencynavigator.deviceMemorynavigator.maxTouchPointsBucketed or approximate clues about processors, memory, and input hardware.
- 03Preferences
navigator.languagenavigator.languagesnavigator.cookieEnablednavigator.doNotTrackLanguage order and browser-level privacy or storage preferences.
- 04Runtime state
navigator.webdrivernavigator.pluginsnavigator.pdfViewerEnablednavigator.globalPrivacyControlAutomation, built-in capabilities, and browser-specific feature exposure.
Consistency checks
Values tell a story. Mismatches tell another one.
A collector can compare properties that describe the same environment from different angles. Agreement increases confidence in the profile. A contradiction can suggest emulation, automation, spoofing, or an unusual configuration.
A mismatch is evidence, not proof. Touch-capable laptops, compatibility modes, privacy defenses, and browser bugs can all produce unusual combinations.
User-Agent and Client Hints
Reducing one string did not remove the browser description.
Browsers have reduced some detail in the traditional User-Agent string. Chromium also exposes User-Agent Client Hints: a smaller default set of claims plus additional values that a site can request. The mechanism changes how detail is delivered, not whether browser identity can contribute to a fingerprint.
One long string
Mozilla/5.0 (…) AppleWebKit/537.36 (…) Chrome/153.0.0.0 Safari/537.36navigator.userAgent remains easy to read, but some version and platform detail may be frozen or reduced.
Defaults and requested detail
brands · mobile · platformarchitecture · bitness · model · full versionsSupport and returned values differ by browser. High-entropy values can also be limited by browser policy or Permissions Policy.
8d31…a09fThe combination
Common answers can still form an uncommon profile.
“Windows,” “English,” and “eight gigabytes” each describe large crowds. Their intersection is smaller. Add ordered languages, processor count, touch support, graphics output, viewport, headers, and network behavior, and the profile can become stable enough to recognize later.
Meaningful defenses
The goal is a less distinctive and more coherent browser story.
Changing a single property can create a new contradiction. Stronger defenses reduce detail, standardize answers across users, and keep related layers consistent.
- 01Standardize
Report the same small set of values for a large population so one browser blends into an anonymity set.
- 02Reduce granularity
Bucket or freeze details such as device memory, processor count, platform versions, and User-Agent fields.
- 03Keep layers consistent
Align JavaScript properties, request headers, Client Hints, display behavior, and the rest of the exposed profile.
- 04Limit unnecessary access
Restrict high-detail APIs and requested Client Hints when they are not needed, while accounting for compatibility.