What Information Does Your Browser Share?
Every time you visit a website, your browser automatically shares information about your device and configuration. This data is used for analytics, compatibility checks, security, and unfortunately, fingerprinting for tracking. Understanding what's exposed helps you make informed privacy decisions.
Browser-Exposed Information
User Agent String
The most basic device identifier:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Contains:
- Operating system (Windows 10, macOS, Android, iOS)
- Browser and version (Chrome 120)
- CPU architecture (x64)
- Browser engine (WebKit, Gecko, Blink)
User-Agent is being phased out in favor of the more privacy-preserving User-Agent Client Hints API, where websites request specific attributes rather than receiving everything.
Screen Information
Available via JavaScript's screen object:
- Width/Height: Total screen dimensions (e.g., 2560x1440)
- Available Width/Height: Usable area excluding taskbar
- Color Depth: Bits per channel (usually 24-bit)
- Pixel Ratio: Physical to logical pixel ratio (1x on standard, 2x+ on Retina/HiDPI)
Viewport Information
The visible area of the browser window:
- Inner Width/Height: Visible content area size
- Outer Width/Height: Browser window total size including toolbars
- Page Offset: Scroll position
Connection Information
The Network Information API exposes:
- Connection type (wifi, cellular, ethernet)
- Effective connection type (4g, 3g, 2g, slow-2g)
- Estimated bandwidth
- Estimated latency
Not available in all browsers (Firefox has disabled it for privacy reasons).
Battery Status
The Battery API (deprecated in many browsers) could expose:
- Battery level percentage
- Charging/discharging state
- Time until charged/discharged
Multiple browsers removed this API due to fingerprinting concerns.
Hardware Concurrency
navigator.hardwareConcurrency reports the number of logical CPU cores available. Useful for deciding how many Web Workers to create.
Device Memory
navigator.deviceMemory returns approximate RAM in gigabytes (rounded to the nearest power of 2 for privacy): 0.25, 0.5, 1, 2, 4, 8.
Language and Locale
navigator.language and navigator.languages expose:
- Primary browser language
- Ordered list of preferred languages
Used for serving content in the user's language without requiring explicit selection.
Online Status
navigator.onLine indicates whether the browser believes it has internet connectivity. Used to show offline-mode UI.
Browser Fingerprinting
Combining multiple browser attributes creates a fingerprint — a identifier that may be unique to your device even without cookies:
Canvas Fingerprinting
Drawing text/graphics to an invisible canvas and hashing the result. Different GPU drivers, fonts, and OS settings produce slightly different renderings, creating a fingerprint.
WebGL Fingerprinting
Querying the GPU's capabilities and renderer string reveals the specific GPU and driver version.
Audio Fingerprinting
AudioContext processing produces slightly different results on different hardware.
Font Fingerprinting
Checking which fonts are installed (via CSS font loading detection) reveals OS and installed application signatures.
Combined Entropy
Each attribute provides partial entropy. Combined, they can uniquely identify a device with high confidence even across browser sessions.
Privacy Implications
Understanding device information exposure matters for:
- Users: Know what data you're sharing and use privacy tools (Brave, Firefox with uBlock Origin, Tor Browser) if concerned
- Developers: Only collect device data you actually need; disclose data collection in privacy policies
- Security professionals: Device fingerprinting can detect bot traffic and account takeover attempts
Using the Device Information Tool
Our tool displays:
- Browser details — name, version, engine, and user agent string
- OS information — operating system and version
- Screen specs — dimensions, color depth, pixel ratio
- Hardware info — CPU cores, RAM estimate
- Network details — connection type and speed estimate
- Location data — timezone and language preferences
- Feature support — which Web APIs are available in your browser
All processing happens locally — no data is sent to any server.